From f62228278e0f9d0b6d3edccda01326e7be4ef06a Mon Sep 17 00:00:00 2001 From: xiangwb Date: Mon, 9 Apr 2018 16:49:18 +0800 Subject: [PATCH] merge --- .../shiro/KickoutSessionControlFilter.java | 1 + .../java/com/xwbing/shiro/ShiroConfig.java | 21 ++++++++++--------- .../{MyShiroRealm.java => UserRealm.java} | 3 +-- 3 files changed, 13 insertions(+), 12 deletions(-) rename boot-web/src/main/java/com/xwbing/shiro/{MyShiroRealm.java => UserRealm.java} (98%) diff --git a/boot-web/src/main/java/com/xwbing/shiro/KickoutSessionControlFilter.java b/boot-web/src/main/java/com/xwbing/shiro/KickoutSessionControlFilter.java index 9d65e87..4de2022 100644 --- a/boot-web/src/main/java/com/xwbing/shiro/KickoutSessionControlFilter.java +++ b/boot-web/src/main/java/com/xwbing/shiro/KickoutSessionControlFilter.java @@ -91,6 +91,7 @@ public class KickoutSessionControlFilter extends AccessControlFilter { // 如果队列里没有此sessionId,且用户没有被踢出;放入队列 if (!deque.contains(sessionId) && session.getAttribute("kickout") == null) { deque.push(sessionId); + } // 如果队列里的sessionId数超出最大会话数,开始踢人 while (deque.size() > maxSession) { diff --git a/boot-web/src/main/java/com/xwbing/shiro/ShiroConfig.java b/boot-web/src/main/java/com/xwbing/shiro/ShiroConfig.java index 4f3f199..2810ca7 100644 --- a/boot-web/src/main/java/com/xwbing/shiro/ShiroConfig.java +++ b/boot-web/src/main/java/com/xwbing/shiro/ShiroConfig.java @@ -115,8 +115,8 @@ public class ShiroConfig { ///////////////////////shiroRealm/////////////////// @Bean @DependsOn("lifecycleBeanPostProcessor") - public MyShiroRealm shiroRealm() { - MyShiroRealm myShiroRealm = new MyShiroRealm(); + public UserRealm shiroRealm() { + UserRealm myShiroRealm = new UserRealm(); myShiroRealm.setCacheManager(cacheManager()); myShiroRealm.setAuthorizationCachingEnabled(false); return myShiroRealm; @@ -130,9 +130,18 @@ public class ShiroConfig { redisManager.setPort(6379); redisManager.setExpire(1800);//配置缓存过期时间 redisManager.setTimeout(10000); +// redisManager.setPassword(); return redisManager; } + ///////////////////////sessionManager/////////////////// + @Bean + public DefaultWebSessionManager sessionManager() { + DefaultWebSessionManager sessionManager = new DefaultWebSessionManager(); + sessionManager.setSessionDAO(redisSessionDAO()); + return sessionManager; + } + ///////////////////////cacheManager/////////////////// @Bean @DependsOn("lifecycleBeanPostProcessor") @@ -142,14 +151,6 @@ public class ShiroConfig { return redisCacheManager; } - ///////////////////////sessionManager/////////////////// - @Bean - public DefaultWebSessionManager sessionManager() { - DefaultWebSessionManager sessionManager = new DefaultWebSessionManager(); - sessionManager.setSessionDAO(redisSessionDAO()); - return sessionManager; - } - @Bean public RedisSessionDAO redisSessionDAO() { RedisSessionDAO redisSessionDAO = new RedisSessionDAO(); diff --git a/boot-web/src/main/java/com/xwbing/shiro/MyShiroRealm.java b/boot-web/src/main/java/com/xwbing/shiro/UserRealm.java similarity index 98% rename from boot-web/src/main/java/com/xwbing/shiro/MyShiroRealm.java rename to boot-web/src/main/java/com/xwbing/shiro/UserRealm.java index 8f41f73..e204088 100644 --- a/boot-web/src/main/java/com/xwbing/shiro/MyShiroRealm.java +++ b/boot-web/src/main/java/com/xwbing/shiro/UserRealm.java @@ -34,7 +34,7 @@ import java.util.Set; * 说明: 自定义realm */ @Component -public class MyShiroRealm extends AuthorizingRealm { +public class UserRealm extends AuthorizingRealm { @Resource private SysUserService sysUserService; @Resource @@ -86,7 +86,6 @@ public class MyShiroRealm extends AuthorizingRealm { * * @param authenticationToken * @return - * @throws AuthenticationException */ @Override protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) {