From b267258776ab9f823a6ae7f1a873a3c258c09190 Mon Sep 17 00:00:00 2001 From: Zheng Jie <201507802@qq.com> Date: Tue, 23 Nov 2021 15:49:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/security/service/UserCacheClean.java | 4 ++-- .../security/service/UserDetailsServiceImpl.java | 16 +++++++--------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserCacheClean.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserCacheClean.java index 3f9fe5b1..70292269 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserCacheClean.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserCacheClean.java @@ -35,7 +35,7 @@ public class UserCacheClean { */ public void cleanUserCache(String userName) { if (StringUtils.isNotEmpty(userName)) { - UserDetailsServiceImpl.userDtoCache.remove(userName); + UserDetailsServiceImpl.USER_DTO_CACHE.remove(userName); } } @@ -44,6 +44,6 @@ public class UserCacheClean { * ,如发生角色授权信息变化,可以简便的全部失效缓存 */ public void cleanAll() { - UserDetailsServiceImpl.userDtoCache.clear(); + UserDetailsServiceImpl.USER_DTO_CACHE.clear(); } } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserDetailsServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserDetailsServiceImpl.java index 034bd7d4..51d09fb8 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserDetailsServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserDetailsServiceImpl.java @@ -55,13 +55,13 @@ public class UserDetailsServiceImpl implements UserDetailsService { * @see {@link UserCacheClean} */ - final static Map> userDtoCache = new ConcurrentHashMap<>(); + final static Map> USER_DTO_CACHE = new ConcurrentHashMap<>(); public static ExecutorService executor = newThreadPool(); @Override public JwtUserDto loadUserByUsername(String username) { JwtUserDto jwtUserDto = null; - Future future = userDtoCache.get(username); + Future future = USER_DTO_CACHE.get(username); if (!loginProperties.isCacheEnable()) { UserDto user; try { @@ -86,9 +86,9 @@ public class UserDetailsServiceImpl implements UserDetailsService { } if (future==null) { - Callable call=()->getJwtBySearchDB(username); + Callable call=()->getJwtBySearchDb(username); FutureTask ft=new FutureTask<>(call); - future=userDtoCache.putIfAbsent(username,ft); + future=USER_DTO_CACHE.putIfAbsent(username,ft); if(future==null){ future=ft; executor.submit(ft); @@ -96,7 +96,7 @@ public class UserDetailsServiceImpl implements UserDetailsService { try{ return future.get(); }catch(CancellationException e){ - userDtoCache.remove(username); + USER_DTO_CACHE.remove(username); }catch (InterruptedException | ExecutionException e) { throw new RuntimeException(e.getMessage()); } @@ -116,8 +116,7 @@ public class UserDetailsServiceImpl implements UserDetailsService { } - - private JwtUserDto getJwtBySearchDB(String username) { + private JwtUserDto getJwtBySearchDb(String username) { UserDto user; try { user = userService.findByName(username); @@ -131,12 +130,11 @@ public class UserDetailsServiceImpl implements UserDetailsService { if (!user.getEnabled()) { throw new BadRequestException("账号未激活!"); } - JwtUserDto jwtUserDto = new JwtUserDto( + return new JwtUserDto( user, dataService.getDeptIds(user), roleService.mapToGrantedAuthorities(user) ); - return jwtUserDto; } }