Commit d245fadac78da8607d0ee5c8e672aabdf9efca36

Authored by 王通
1 parent 56ccdff4

1.模糊登录信息提示,修改以sessionId作为验证码的出现基准

src/main/java/com/bsth/controller/sys/UserController.java
... ... @@ -57,6 +57,15 @@ public class UserController extends BaseController<SysUser, Integer> {
57 57 //需要验证码的账号
58 58 public static Map<String, Integer> captchaMap = new HashMap<>();
59 59  
  60 + private static void captcha(String sessionId) {
  61 + Integer captchSize = captchaMap.get(sessionId);
  62 + if (null == captchSize)
  63 + captchSize = 0;
  64 +
  65 + captchSize++;
  66 + captchaMap.put(sessionId, captchSize);
  67 + }
  68 +
60 69 @RequestMapping(value = "/login", method = RequestMethod.POST)
61 70 public Map<String, Object> login(HttpServletRequest request, @RequestParam String userName,
62 71 @RequestParam String password, String captcha) {
... ... @@ -88,8 +97,10 @@ public class UserController extends BaseController&lt;SysUser, Integer&gt; {
88 97 }
89 98  
90 99 SysUser user = sysUserService.findByUserName(userName);
91   - if (null == user)
92   - return put(rs, "msg", "不存在的用户");
  100 + if (null == user) {
  101 + captcha(session.getId());
  102 + return put(rs, "msg", "用户名或密码错误");
  103 + }
93 104  
94 105 if (!user.isEnabled())
95 106 return put(rs, "msg", "该用户已被锁定,请联系管理员");
... ... @@ -97,14 +108,8 @@ public class UserController extends BaseController&lt;SysUser, Integer&gt; {
97 108 // 校验密码
98 109 boolean matchStatus = new BCryptPasswordEncoder(4).matches(password, user.getPassword());
99 110 if (!matchStatus) {
100   - rs.put("msg", "密码有误");
101   -
102   - Integer captchSize = captchaMap.get(userName);
103   - if (null == captchSize)
104   - captchSize = 0;
105   -
106   - captchSize++;
107   - captchaMap.put(userName, captchSize);
  111 + captcha(session.getId());
  112 + rs.put("msg", "用户名或密码错误");
108 113 return rs;
109 114 }
110 115  
... ... @@ -226,8 +231,8 @@ public class UserController extends BaseController&lt;SysUser, Integer&gt; {
226 231 }
227 232  
228 233 @RequestMapping(value = "/login/captchaStatus")
229   - public int captchaStatus(String userName) {
230   - Integer size = captchaMap.get(userName);
  234 + public int captchaStatus(String userName, HttpServletRequest request) {
  235 + Integer size = captchaMap.get(request.getSession().getId());
231 236 return size == null ? 0 : size;
232 237 }
233 238  
... ...