|
|
@@ -867,24 +867,24 @@ public class HomeController extends BaseController {
|
|
|
|
|
|
/**********************政策雷达***********************/
|
|
|
|
|
|
-// /**
|
|
|
-// * 跳转到登录页面
|
|
|
-// *
|
|
|
-// * @return
|
|
|
-// */
|
|
|
-// @RequestMapping(value = "/login")
|
|
|
-// public String toLogin(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws Exception {
|
|
|
-// log.info("跳转到登录页面!");
|
|
|
-// //Ajax登录超时校验,如果超时,进行前台响应提示
|
|
|
-// if (WebUtil.isAjaxRequest(request)) {
|
|
|
-// response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
|
|
|
-// response.setHeader(HEAD_SESSION_STATUS_KEY, HEAD_SESSION_STATUS_VALUE);
|
|
|
-// response.setContentType("text/html;charset=utf-8");
|
|
|
-// }
|
|
|
-// this.commonObject(modelMap, false);
|
|
|
-// return BASE_HOME_PATH + "html/login";
|
|
|
-//// return "/index";
|
|
|
-// }
|
|
|
+ /**
|
|
|
+ * 跳转到登录页面
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "/login")
|
|
|
+ public String toLogin(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws Exception {
|
|
|
+ log.info("跳转到登录页面!");
|
|
|
+ //Ajax登录超时校验,如果超时,进行前台响应提示
|
|
|
+ if (WebUtil.isAjaxRequest(request)) {
|
|
|
+ response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
|
|
|
+ response.setHeader(HEAD_SESSION_STATUS_KEY, HEAD_SESSION_STATUS_VALUE);
|
|
|
+ response.setContentType("text/html;charset=utf-8");
|
|
|
+ }
|
|
|
+ this.commonObject(modelMap, false);
|
|
|
+ return BASE_HOME_PATH + "html/login";
|
|
|
+// return "/index";
|
|
|
+ }
|
|
|
|
|
|
|
|
|
/**
|
|
|
@@ -895,55 +895,55 @@ public class HomeController extends BaseController {
|
|
|
* @param password 密码
|
|
|
* @return
|
|
|
*/
|
|
|
-// @OperationLog(value = "用户登录")
|
|
|
-// @PostMapping(value = "/login")
|
|
|
-// @ResponseBody
|
|
|
-// public ResponseMessage login(HttpServletRequest request, String username, String password, Boolean isMobile) {
|
|
|
-// try {
|
|
|
-// //changeNewSession(request);
|
|
|
-// Base64.Decoder decoder = Base64.getDecoder();
|
|
|
-// username = new String(decoder.decode(username), "UTF-8");
|
|
|
-// password = new String(decoder.decode(password), "UTF-8");
|
|
|
-//
|
|
|
-// //获取当前的Subject
|
|
|
-// Subject currentUser = ShiroUtils.getSubject();
|
|
|
-// UsernamePasswordToken token = new UsernamePasswordToken(username, password, isMobile, false);
|
|
|
-// //在调用了login方法后,SecurityManager会收到AuthenticationToken,并将其发送给已配置的Realm执行必须的认证检查
|
|
|
-// //每个Realm都能在必要时对提交的AuthenticationTokens作出反应
|
|
|
-// //所以这一步在调用login(token)方法时,它会走到MyRealm.doGetAuthenticationInfo()方法中,具体验证方式详见此方法
|
|
|
-// log.info("对用户进行登录验证..验证开始! username = {}", username);
|
|
|
-// currentUser.login(token);
|
|
|
-// //验证是否登录成功
|
|
|
-// if (currentUser.isAuthenticated()) {
|
|
|
-// log.info("对用户进行登录验证..验证通过! username = {}", username);
|
|
|
-// ModelMap modelMap = new ModelMap();
|
|
|
-// this.commonObject(modelMap, false);
|
|
|
-//
|
|
|
-// //获取token
|
|
|
-// modelMap.put("token", userService.createToken());
|
|
|
-// return ResponseMessage.success(Constant.USER_LOGIN_IN, modelMap);
|
|
|
-// }
|
|
|
-// } catch (UnknownAccountException e) { //账号不存在
|
|
|
-// log.info("! username = {}", username);
|
|
|
-// return ResponseMessage.error(Constant.USER_NOT_FIND);
|
|
|
-//
|
|
|
-// } catch (IncorrectCredentialsException e) {
|
|
|
-// log.info("对用户进行登录验证..验证未通过,错误的凭证! username = {}", username);
|
|
|
-// return ResponseMessage.error(Constant.USER_INVALID);
|
|
|
-//
|
|
|
-// } catch (LockedAccountException e) {
|
|
|
-// log.info("对用户进行登录验证..验证未通过,账户已锁定! username = {}", username);
|
|
|
-// return ResponseMessage.error(Constant.USER_HAS_REGISTERING);
|
|
|
-// } catch (ExcessiveAttemptsException eae) {
|
|
|
-// log.info("对用户进行登录验证..验证未通过,错误次数过多! username = {}", username);
|
|
|
-// return ResponseMessage.error(Constant.USER_ERROR_MANY);
|
|
|
-// } catch (AuthenticationException e) {
|
|
|
-// return ResponseMessage.error(Constant.SYSTEM_ERRORS);
|
|
|
-// } catch (Exception e) {
|
|
|
-// log.error("对用户进行登录验证失败! username = {} e = {}", username, e);
|
|
|
-// }
|
|
|
-// return ResponseMessage.error(Constant.SYSTEM_ERRORS);
|
|
|
-// }
|
|
|
+ @OperationLog(value = "用户登录")
|
|
|
+ @PostMapping(value = "/login")
|
|
|
+ @ResponseBody
|
|
|
+ public ResponseMessage login(HttpServletRequest request, String username, String pd, Boolean isMobile) {
|
|
|
+ try {
|
|
|
+ //changeNewSession(request);
|
|
|
+ Base64.Decoder decoder = Base64.getDecoder();
|
|
|
+ username = new String(decoder.decode(username), "UTF-8");
|
|
|
+ String password = new String(decoder.decode(pd), "UTF-8");
|
|
|
+
|
|
|
+ //获取当前的Subject
|
|
|
+ Subject currentUser = ShiroUtils.getSubject();
|
|
|
+ UsernamePasswordToken token = new UsernamePasswordToken(username, password, isMobile, false);
|
|
|
+ //在调用了login方法后,SecurityManager会收到AuthenticationToken,并将其发送给已配置的Realm执行必须的认证检查
|
|
|
+ //每个Realm都能在必要时对提交的AuthenticationTokens作出反应
|
|
|
+ //所以这一步在调用login(token)方法时,它会走到MyRealm.doGetAuthenticationInfo()方法中,具体验证方式详见此方法
|
|
|
+ log.info("对用户进行登录验证..验证开始! username = {}", username);
|
|
|
+ currentUser.login(token);
|
|
|
+ //验证是否登录成功
|
|
|
+ if (currentUser.isAuthenticated()) {
|
|
|
+ log.info("对用户进行登录验证..验证通过! username = {}", username);
|
|
|
+ ModelMap modelMap = new ModelMap();
|
|
|
+ this.commonObject(modelMap, false);
|
|
|
+
|
|
|
+ //获取token
|
|
|
+ modelMap.put("token", userService.createToken());
|
|
|
+ return ResponseMessage.success(Constant.USER_LOGIN_IN, modelMap);
|
|
|
+ }
|
|
|
+ } catch (UnknownAccountException e) { //账号不存在
|
|
|
+ log.info("! username = {}", username);
|
|
|
+ return ResponseMessage.error(Constant.USER_NOT_FIND);
|
|
|
+
|
|
|
+ } catch (IncorrectCredentialsException e) {
|
|
|
+ log.info("对用户进行登录验证..验证未通过,错误的凭证! username = {}", username);
|
|
|
+ return ResponseMessage.error(Constant.USER_INVALID);
|
|
|
+
|
|
|
+ } catch (LockedAccountException e) {
|
|
|
+ log.info("对用户进行登录验证..验证未通过,账户已锁定! username = {}", username);
|
|
|
+ return ResponseMessage.error(Constant.USER_HAS_REGISTERING);
|
|
|
+ } catch (ExcessiveAttemptsException eae) {
|
|
|
+ log.info("对用户进行登录验证..验证未通过,错误次数过多! username = {}", username);
|
|
|
+ return ResponseMessage.error(Constant.USER_ERROR_MANY);
|
|
|
+ } catch (AuthenticationException e) {
|
|
|
+ return ResponseMessage.error(Constant.SYSTEM_ERRORS);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("对用户进行登录验证失败! username = {} e = {}", username, e);
|
|
|
+ }
|
|
|
+ return ResponseMessage.error(Constant.SYSTEM_ERRORS);
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 改变session
|