From cb9fbcd27a288d0c61d85fa13ff5fc8eb1f4deab Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期六, 18 三月 2023 16:44:56 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/service/sys/TokenService.java | 43 ++++++++++++++++++++++++++++++------------- 1 files changed, 30 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/lf/server/service/sys/TokenService.java b/src/main/java/com/lf/server/service/sys/TokenService.java index 244a80c..2763157 100644 --- a/src/main/java/com/lf/server/service/sys/TokenService.java +++ b/src/main/java/com/lf/server/service/sys/TokenService.java @@ -27,9 +27,6 @@ @Service public class TokenService implements TokenMapper { @Autowired - public RedisService redisService; - - @Autowired TokenMapper tokenMapper; @Autowired @@ -38,13 +35,20 @@ @Autowired LoginService loginService; + @Autowired + RedisService redisService; + @Override public Integer selectCount(String name, Integer type) { + name = StringHelper.getLikeStr(name); + return tokenMapper.selectCount(name, type); } @Override public List<TokenEntity> selectByPage(String name, Integer type, Integer limit, Integer offset) { + name = StringHelper.getLikeStr(name); + return tokenMapper.selectByPage(name, type, limit, offset); } @@ -96,14 +100,15 @@ /** * 鑾峰彇鏂扮殑浠ょ墝瀹炰綋绫� */ - public TokenEntity getNewToken(int userid, HttpServletRequest req) { + public TokenEntity getNewToken(UserEntity ue, HttpServletRequest req) { TokenEntity te = new TokenEntity(); te.setToken(WebHelper.getGuid()); te.setDuration(SettingData.TOKEN_EXPIRE); te.setExpire(WebHelper.getTimestamp(SettingData.TOKEN_EXPIRE)); te.setType(0); te.setIp(WebHelper.getIpAddress(req)); - te.setCreateUser(userid); + te.setCreateUser(ue.getId()); + te.setUname(ue.getUname()); return te; } @@ -145,6 +150,12 @@ // 娓呴櫎Cookie WebHelper.deleteCookies(req, res); + // 鑾峰彇褰撳墠鐢ㄦ埛 + UserEntity ue = getCurrentUser(req); + if (ue == null) { + return false; + } + // 娓呴櫎缂撳瓨 String tokenKey = RedisCacheKey.signTokenKey(token); if (redisService.hasKey(tokenKey)) { @@ -153,12 +164,6 @@ String userKey = RedisCacheKey.signUserKey(te.getToken()); if (redisService.hasKey(userKey)) { redisService.delete(userKey); - } - - // 鑾峰彇褰撳墠鐢ㄦ埛 - UserEntity ue = getCurrentUser(req); - if (ue == null) { - return false; } // db锛岃缃护鐗岃繃鏈� @@ -187,7 +192,7 @@ // redis Object obj = redisService.get(tokenKey); - if (obj != null && obj instanceof TokenEntity) { + if (obj instanceof TokenEntity) { return (TokenEntity) obj; } @@ -229,7 +234,7 @@ // redis Object obj = redisService.get(userKey); - if (obj != null && obj instanceof UserEntity) { + if (obj instanceof UserEntity) { return (UserEntity) obj; } @@ -254,6 +259,18 @@ int count = objCount == null ? 1 : (int) objCount + 1; redisService.put(key, count, SettingData.PWD_ERR_TIME, TimeUnit.MINUTES); + + // 璁板綍鏃ュ織 + HttpServletRequest req = WebHelper.getRequest(); + LoginEntity le = loginService.getNewLogin(ue.getId(), 1, 1, 0, req); + le.setDescr("瀵嗙爜涓嶆纭�"); + loginService.insertLogin(le); + + if (count >= SettingData.PWD_ERR_COUNT) { + String token = WebHelper.getToken(req); + HttpServletResponse res = WebHelper.getResponse(); + logout(token, req, res); + } } /** -- Gitblit v1.9.3