/** 登录 */ public String execute() { // 判断是否匿名登录 if (this.user.getUserName() == null || "".equals(this.user.getUserName().trim())) { this.user = userManager.getById( Integer.parseInt(globalSetting.getParam(Constants.ANONYMOUSE_USERID))); if (log.isDebugEnabled()) { log.debug("使用匿名用户登录"); } if (this.authenticationByShiro(user.getUserName(), user.getPassword(), this.rememberMe)) { initCurrentUserInfo(this.user); return SUCCESS; } return INPUT; } // 如果是通过登录页面登录 else { if (validateCaptcha()) { if (this.authenticationByShiro( user.getUserName(), this.pwdEncoder.encodePassword(user.getPassword()), this.rememberMe)) { User loginUser = this.userManager.getByUserName(this.user.getUserName()); // 初始化用户对象 initCurrentUserInfo(loginUser); // 更新登录状态 updateUserLoginInfo(loginUser); return SUCCESS; } return INPUT; } else { return INPUT; } } }
/** 注册后直接登录 */ public String loginAfterRegister() { if (this.authenticationByShiro( user.getUserName(), this.pwdEncoder.encodePassword(user.getPassword()), this.rememberMe)) { User loginUser = this.userManager.getByUserName(this.user.getUserName()); // 初始化用户对象 initCurrentUserInfo(loginUser); // 更新登录状态 updateUserLoginInfo(loginUser); return SUCCESS; } return INPUT; }