⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loginindeact.java

📁 JEECMS是JavaEE版网站管理系统(Java Enterprise Edition Content Manage System)的简称。 基于java技术开发
💻 JAVA
字号:
package com.jeecms.cms.action.front;

import org.apache.commons.lang.StringUtils;
import org.apache.struts2.interceptor.validation.SkipValidation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.jeecms.cms.CmsIndeAction;
import com.jeecms.cms.Constants;
import com.jeecms.cms.entity.CmsMember;
import com.jeecms.core.entity.Member;
import com.jeecms.core.entity.User;
import com.octo.captcha.service.image.ImageCaptchaService;

/**
 * 登录独立模板
 * 
 * @author liufang
 * 
 */
@SuppressWarnings("unchecked")
@Scope("prototype")
@Controller("cms.loginIndeAct")
public class LoginIndeAct extends CmsIndeAction {
	private static final Logger log = LoggerFactory
			.getLogger(LoginIndeAct.class);
	public static final String LOGIN_FRAME_INPUT = "LoginFrameInput";
	public static final String LOGIN_FRAME_WELCOME = "LoginFrameWelcome";
	public static final String LOGIN_ALONE_INPUT = "LoginAloneInput";

	@SkipValidation
	public String loginFrameInput() {
		if (getCmsMember() == null) {
			return handleResult(LOGIN_FRAME_INPUT);
		} else {
			return handleResult(LOGIN_FRAME_WELCOME);
		}
	}

	public String loginFrameSubmit() {
		if (login()) {
			return handleResult(LOGIN_FRAME_INPUT);
		} else {
			return handleResult(LOGIN_FRAME_WELCOME);
		}
	}

	@SkipValidation
	public String loginFrameLogout() {
		contextPvd.logout();
		return "logout";
	}

	@SkipValidation
	public String loginAloneInput() {
		return handleResult(LOGIN_ALONE_INPUT);
	}

	public String loginAloneSubmit() {
		if (login()) {
			return showError();
		} else if (!StringUtils.isBlank(redirectUrl)) {
			return "lastUrl";
		} else {
			return INDEX_PAGE;
		}
	}

	@SkipValidation
	public String loginAloneLogout() {
		contextPvd.logout();
		return INDEX_PAGE;
	}

	/**
	 * 框架登录和独立登录共享登录逻辑
	 */
	private boolean login() {
		if (hasErrors()) {
			return true;
		}
		boolean isHuman = imageCaptchaService.validateResponseForID(contextPvd
				.getSessionId(false), checkCode);
		if (!isHuman) {
			addActionError("验证码错误");
			return true;
		}
		User user = userMng.authenticate(username, password);
		if (user == null) {
			addActionError("用户名不存在或密码错误");
			return true;
		}
		Member member = memberMng.getMemberByUserId(getWebId(), user.getId());
		if (member == null) {
			addActionError("您没有在本站注册");
			return true;
		}
		CmsMember cmsMember = cmsMemberMng.findById(member.getId());
		if (cmsMember == null) {
			addActionError("您没有在本系统注册");
			return true;
		}
		// 清除以前登录信息
		contextPvd.logout();
		// 保存当前登录信息
		contextPvd.setSessionAttr(User.USER_KEY, user.getId());
		contextPvd.setSessionAttr(Member.MEMBER_KEY, member.getId());
		userMng.updateLoginInfo(user);
		log.info("会员 {} 登录成功", username);
		return false;
	}

	@Override
	protected String getSysType() {
		return Constants.MEMBER_SYS;
	}

	@Autowired
	private ImageCaptchaService imageCaptchaService;
	private String username;
	private String password;
	private String checkCode;

	private String redirectUrl;
	private String errorMsg;

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getCheckCode() {
		return checkCode;
	}

	public void setCheckCode(String checkCode) {
		this.checkCode = checkCode;
	}

	public String getRedirectUrl() {
		return redirectUrl;
	}

	public void setRedirectUrl(String redirectUrl) {
		this.redirectUrl = redirectUrl;
	}

	public String getErrorMsg() {
		return errorMsg;
	}

	public void setErrorMsg(String errorMsg) {
		this.errorMsg = errorMsg;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -