@ResponseBody @RequestMapping(value = "/core/getAccessToken", method = RequestMethod.POST) public ResponseResult getAccessToken(HttpServletRequest request, HttpServletResponse response) { ResponseResult result = new ResponseResult(); try { String loginID = request.getParameter("loginID"); String password = request.getParameter("password"); result.checkFieldRequired("loginID", loginID); result.checkFieldRequired("password", password); if (result.getMessages().size() > 0) { result.setStatus(ResponseStatus.ValidateFailed.getCode()); return result; } SecurityAccessToken accessToken = this.securityUserService.getAccessTokenByLogin(loginID, password); if (accessToken == null) { result.checkQueryEmpty(MessageConstant.QUERY_EMPTY_WRONG_LOGIN); } else { result.setStatus(ResponseStatus.OK.getCode()); result.setData(accessToken); } } catch (Exception e) { e.printStackTrace(); logger.fatal(e); result.checkException(e); } return result; }
@ResponseBody @RequestMapping(value = "/core/getUserByToken", method = RequestMethod.POST) public ResponseResult getUserByToken(HttpServletRequest request, HttpServletResponse response) { ResponseResult result = new ResponseResult(); try { String accessToken = request.getParameter("accessToken"); result.checkFieldRequired("accessToken", accessToken); if (result.getMessages().size() > 0) { result.setStatus(ResponseStatus.ValidateFailed.getCode()); return result; } SecurityUser securityUser = this.securityUserService.getSecurityUserByToken(accessToken); if (securityUser == null) { result.checkQueryEmpty(MessageConstant.QUERY_EMPTY_WRONG_TOKEN); } else { ServletContext sc = request.getServletContext(); // 这个用户的可访问资源获取 Object roleResourceMapObj = sc.getAttribute(ServletConstant.ROLE_RESOURCE_MAP); if (roleResourceMapObj != null) { @SuppressWarnings("unchecked") Map<Integer, List<SecurityResource>> roleResourceMap = (Map<Integer, List<SecurityResource>>) roleResourceMapObj; for (SecurityRole item : securityUser.getRoleList()) { List<SecurityResource> resourceList = roleResourceMap.get(item.getRoleID()); for (SecurityResource securityResource : resourceList) { securityUser.getResUrlList().add(securityResource.getResURL()); } } } result.setStatus(ResponseStatus.OK.getCode()); result.setData(securityUser); } } catch (Exception e) { e.printStackTrace(); logger.fatal(e); result.checkException(e); } return result; }
@ResponseBody @RequestMapping(value = "/core/sendVerifyCode", method = RequestMethod.POST) public ResponseResult sendVerifyCode(HttpServletRequest request, HttpServletResponse response) { ResponseResult result = new ResponseResult(); try { String email = request.getParameter("email"); System.out.println("sendVerifyCode email: " + email); result.checkFieldRequired("email", email); result.checkFieldEmail("email", email); if (result.getMessages().size() > 0) { result.setStatus(ResponseStatus.ValidateFailed.getCode()); return result; } String verifyCode = StringUtil.getRandomNumber(4, 9); ServletContext sc = request.getServletContext(); Properties mailProperties = (Properties) sc.getAttribute("mail.properties"); String content = "亲爱的毒电波用户," + verifyCode + " 是您的验证码,5分钟内有效。"; if (!MailUtil.sendMail(mailProperties, content, email)) { result.setStatus(ResponseStatus.Failed.getCode()); } else { result.setStatus(ResponseStatus.OK.getCode()); this.verifyCodeMap.put(email, verifyCode); System.out.println("sendVerifyCode verifyCodeMap: " + verifyCodeMap); verifyCodeTimeTask(email); } } catch (Exception e) { e.printStackTrace(); logger.fatal(e); result.checkException(e); } return result; }
@ResponseBody @RequestMapping(value = "/core/getAccessTokenByMail", method = RequestMethod.POST) public ResponseResult getAccessTokenByMail( HttpServletRequest request, HttpServletResponse response) { ResponseResult result = new ResponseResult(); try { String email = request.getParameter("email"); String verifyCode = request.getParameter("verifyCode"); System.out.println("getAccessTokenByMail mail:" + email); System.out.println("getAccessTokenByMail verifyCode:" + verifyCode); System.out.println("getAccessTokenByMail verifyCodeMap:" + verifyCodeMap); if (result.checkFieldRequired("email", email) && result.checkFieldRequired("verifyCode", verifyCode)) { result.checkVerifyCode(verifyCodeMap, email, verifyCode); } if (result.getMessages().size() > 0) { result.setStatus(ResponseStatus.ValidateFailed.getCode()); return result; } SecurityAccessToken accessToken = this.securityUserService.getAccessTokenByEmail(email); if (accessToken == null) { result.checkQueryEmpty(MessageConstant.QUERY_EMPTY_WRONG_LOGIN); } else { result.setStatus(ResponseStatus.OK.getCode()); result.setData(accessToken); verifyCodeMap.remove(email); } } catch (Exception e) { e.printStackTrace(); logger.fatal(e); result.checkException(e); } return result; }