?? loginindeact.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;
/**
* 登錄獨(dú)立模板
*
* @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;
}
/**
* 框架登錄和獨(dú)立登錄共享登錄邏輯
*/
private boolean login() {
if (hasErrors()) {
return true;
}
boolean isHuman = imageCaptchaService.validateResponseForID(contextPvd
.getSessionId(false), checkCode);
if (!isHuman) {
addActionError("驗(yàn)證碼錯誤");
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("您沒有在本系統(tǒng)注冊");
return true;
}
// 清除以前登錄信息
contextPvd.logout();
// 保存當(dāng)前登錄信息
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;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -