use of com.sohu.cache.entity.LoginResult in project cachecloud by sohutv.
the class LoginController method loginIn.
/**
* 用户登录
*
* @param userName 用户名
* @param password 密码
* @param isAdmin 是否勾选超级管理员选项,1是0否
* @return
*/
@RequestMapping(value = "/loginIn", method = RequestMethod.POST)
public ModelAndView loginIn(HttpServletRequest request, HttpServletResponse response, Model model, String userName, String password, boolean isAdmin) {
// 登录结果
LoginResult loginResult = new LoginResult();
loginResult.setAdminEnum((isAdmin == true ? AdminEnum.IS_ADMIN : AdminEnum.NOT_ADMIN));
loginResult.setLoginEnum(LoginEnum.LOGIN_WRONG_USER_OR_PASSWORD);
AppUser userModel = null;
if (ConstUtils.SUPER_ADMIN_NAME.equals(userName)) {
userModel = userService.getByName(userName);
if (userModel != null && ConstUtils.SUPER_ADMIN_PASS.equals(password)) {
loginResult.setLoginEnum(LoginEnum.LOGIN_SUCCESS);
} else {
loginResult.setLoginEnum(LoginEnum.LOGIN_WRONG_USER_OR_PASSWORD);
}
} else {
if (LoginUtil.passportCheck(userName, password)) {
// 同时要验证是否有cachecloud权限
userModel = userService.getByName(userName);
if (userModel != null && userModel.getType() != AppUserTypeEnum.NO_USER.value()) {
if (isAdmin) {
if (AppUserTypeEnum.ADMIN_USER.value().equals(userModel.getType())) {
loginResult.setLoginEnum(LoginEnum.LOGIN_SUCCESS);
} else {
loginResult.setLoginEnum(LoginEnum.LOGIN_NOT_ADMIN);
}
} else {
loginResult.setLoginEnum(LoginEnum.LOGIN_SUCCESS);
}
} else {
// 用户不存在
loginResult.setLoginEnum(LoginEnum.LOGIN_USER_NOT_EXIST);
}
}
}
// 登录成功写入登录状态
if (loginResult.getLoginEnum().equals(LoginEnum.LOGIN_SUCCESS)) {
userLoginStatusService.addLoginStatus(request, response, userModel.getId().toString());
}
model.addAttribute("success", loginResult.getLoginEnum().value());
model.addAttribute("admin", loginResult.getAdminEnum().value());
return new ModelAndView();
}
Aggregations