copy from server/src/main/java/com/doumee/config/shiro/ShiroConfig.java
copy to server/web/src/main/java/com/doumee/config/shiro/ShiroConfig.java
| Îļþ´Ó server/src/main/java/com/doumee/config/shiro/ShiroConfig.java ¸´ÖÆ |
| | |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | 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.io.Serializable; |
| | | import java.util.HashMap; |
| | | import java.util.LinkedHashMap; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * Shiroé
ç½® |
| | | * @author Eva.Caesar Liu |
| | | * @date 2023/04/17 12:11 |
| | | * @date 2023/03/21 14:49 |
| | | */ |
| | | @Configuration |
| | | public class ShiroConfig { |
| | |
| | | @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(); |
| | |
| | | public SessionManager sessionManager() { |
| | | ShiroSessionManager sessionManager = new ShiroSessionManager(); |
| | | sessionManager.setSessionDAO(shiroSessionDAO); |
| | | sessionManager.setGlobalSessionTimeout(sessionExpireTime*1000); |
| | | // å é¤å¤±æçsession |
| | | sessionManager.setDeleteInvalidSessions(true); |
| | | return sessionManager; |
| | | } |
| | | |
| | |
| | | shiroFilterFactoryBean.setSecurityManager(securityManager); |
| | | Map<String, String> map = new LinkedHashMap<>(); |
| | | // è·¯å¾æ¦æªé
ç½® |
| | | map.put("/web/user/login", "anon"); |
| | | map.put("/public/uploadRichText", "anon"); |
| | | map.put("/system/login", "anon"); |
| | | map.put("/system/logout", "anon"); |
| | | map.put("/common/captcha", "anon"); |
| | | //æ¾è¡ scratch æ¥å£ |
| | | map.put("/web/scratch/**", "anon"); |
| | | |
| | | map.put("/web/**", "anon"); |
| | | //æä»¶ä¸ä¼ åæ¶æ¦æª |
| | | map.put("/public/**", "anon"); |
| | | // - æ¾è¡swagger |
| | | map.put("/doc.html", "anon"); |
| | | map.put("/webjars/**", "anon"); |