From 7396f1b61c80d13aefb42305c2db6b0c93bbe56e Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 05 九月 2023 14:04:52 +0800 Subject: [PATCH] 框架整理 --- server/src/main/java/com/doumee/config/shiro/ShiroConfig.java | 46 +++++++++++++++++++++++----------------------- 1 files changed, 23 insertions(+), 23 deletions(-) diff --git a/server/src/main/java/com/doumee/config/shiro/ShiroConfig.java b/server/src/main/java/com/doumee/config/shiro/ShiroConfig.java index 9765736..6422760 100644 --- a/server/src/main/java/com/doumee/config/shiro/ShiroConfig.java +++ b/server/src/main/java/com/doumee/config/shiro/ShiroConfig.java @@ -1,6 +1,5 @@ package com.doumee.config.shiro; -import org.apache.coyote.http11.AbstractHttp11Protocol; import org.apache.shiro.mgt.SecurityManager; import org.apache.shiro.session.mgt.SessionManager; import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor; @@ -9,21 +8,21 @@ import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer; -import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; -import org.springframework.boot.web.servlet.server.ServletWebServerFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.connection.RedisConnectionFactory; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.serializer.StringRedisSerializer; import javax.servlet.Filter; -import java.util.HashMap; +import java.io.Serializable; import java.util.LinkedHashMap; import java.util.Map; /** * Shiro閰嶇疆 * @author Eva.Caesar Liu - * @date 2023/02/14 11:14 + * @date 2023/04/17 12:11 */ @Configuration public class ShiroConfig { @@ -43,6 +42,20 @@ @Autowired private ShiroRealm shiroRealm; + @Bean("sessionRedisTemplate") + public RedisTemplate<Object, Serializable> sessionRedisTemplate(RedisConnectionFactory redisConnectionFactory) { + RedisTemplate<Object, Serializable> redisTemplate = new RedisTemplate<>(); + redisTemplate.setConnectionFactory(redisConnectionFactory); + // 榛樿搴忓垪鍖栨柟寮� + redisTemplate.setDefaultSerializer(new StringRedisSerializer()); + // 鍊煎簭鍒楀寲鏂瑰紡 + ShiroSessionSerializer serializer = new ShiroSessionSerializer(); + redisTemplate.setValueSerializer(serializer); + redisTemplate.setHashValueSerializer(serializer); + redisTemplate.afterPropertiesSet(); + return redisTemplate; + } + @Bean public DefaultAdvisorAutoProxyCreator defaultAdvisorAutoProxyCreator() { DefaultAdvisorAutoProxyCreator autoProxyCreator = new DefaultAdvisorAutoProxyCreator(); @@ -54,6 +67,9 @@ public SessionManager sessionManager() { ShiroSessionManager sessionManager = new ShiroSessionManager(); sessionManager.setSessionDAO(shiroSessionDAO); + sessionManager.setGlobalSessionTimeout(sessionExpireTime*1000); + // 鍒犻櫎澶辨晥鐨剆ession + sessionManager.setDeleteInvalidSessions(true); return sessionManager; } @@ -71,6 +87,7 @@ ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean(); shiroFilterFactoryBean.setSecurityManager(securityManager); Map<String, String> map = new LinkedHashMap<>(); + // 璺緞鎷︽埅閰嶇疆 // 璺緞鎷︽埅閰嶇疆 map.put("/system/dictData/companyUserRules","anon"); map.put("/system/login", "anon"); @@ -121,22 +138,5 @@ public ShiroRealm getShiroRealm () { shiroRealm.setCredentialsMatcher(shiroCredentialsMatcher); return shiroRealm; - } - - private int maxUploadSizeInMb = 10 * 1024 * 1024; // 10 MB - - @Bean - public TomcatServletWebServerFactory tomcatEmbedded() { - - TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory(); - tomcat.addConnectorCustomizers((TomcatConnectorCustomizer) connector -> { - // connector other settings... - // configure maxSwallowSize - if ((connector.getProtocolHandler() instanceof AbstractHttp11Protocol<?>)) { - // -1 means unlimited, accept bytes - ((AbstractHttp11Protocol<?>) connector.getProtocolHandler()).setMaxSwallowSize(-1); - } - }); - return tomcat; } } -- Gitblit v1.9.3