@Override @Transactional(readOnly = false, rollbackFor = Throwable.class) public int login( String loginName, String loginPwd, String checkCode, Long systemId, HttpServletRequest request) throws Exception { // 检查验证码是否正确 if (!SessionUtils.checkSessionValue( request, SessionNameConstants.IMG_CHECK_CODE, checkCode)) // 验证失败 { return ResultConstants.IMG_CODE_FAILED; } // 检查登录名和密码是否正确 MD5Utils.toMD5(loginPwd) SysLogin sysLogin = ((SysLoginDAO) baseDao).login(loginName, MD5Utils.toMD5(loginPwd), systemId); if (sysLogin == null) { return ResultConstants.LOGIN_INFO_FAILED; } if (sysLogin.getStatus().equals(CommonConstants.STATUS_INVALID)) { return ResultConstants.LOGIN_INFO_INVAILD; } // 加载登录用户的相关信息到登录令牌 LoginToken loginToken = this.getAdminLoginToken(sysLogin); // 保存登录用户信息到http session SessionUtils.setObjectAttribute(request, SessionNameConstants.LOGIN_TOKEN, loginToken); // 修改最后登录时间 sysLogin.setLoginLastTime(DateTimeUtil.getChar14()); baseDao.update(sysLogin); // 保存系统日志 sysLogService.save(SysLog.OPERATE_TYPE_LOGIN, "【用户登录】用户名:" + sysLogin.getLoginName()); return ResultConstants.LOGIN_SUCCESS; }