diff --git a/tamguo-mms/src/main/java/com/tamguo/config/shiro/ShiroConfiguration.java b/tamguo-mms/src/main/java/com/tamguo/config/shiro/ShiroConfiguration.java index 96f9ab3..0834aab 100644 --- a/tamguo-mms/src/main/java/com/tamguo/config/shiro/ShiroConfiguration.java +++ b/tamguo-mms/src/main/java/com/tamguo/config/shiro/ShiroConfiguration.java @@ -12,15 +12,29 @@ import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreato import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +/** + * Shiro 配置类 + */ + @Configuration public class ShiroConfiguration { + + // 定义过滤链定义映射 private static Map filterChainDefinitionMap = new LinkedHashMap(); + /** + * 获取 Shiro 领域对象 + * @return MemberRealm 对象 + */ @Bean(name = "shiroRealm") public MemberRealm getShiroRealm() { return new MemberRealm(); } + /** + * 获取 EhCache 管理器 + * @return EhCacheManager 对象 + */ @Bean(name = "shiroEhcacheManager") public EhCacheManager getEhCacheManager() { EhCacheManager em = new EhCacheManager(); @@ -28,11 +42,19 @@ public class ShiroConfiguration { return em; } + /** + * 获取生命周期 Bean 后处理器 + * @return LifecycleBeanPostProcessor 对象 + */ @Bean(name = "lifecycleBeanPostProcessor") public LifecycleBeanPostProcessor getLifecycleBeanPostProcessor() { return new LifecycleBeanPostProcessor(); } + /** + * 获取默认顾问自动代理创建器 + * @return DefaultAdvisorAutoProxyCreator 对象 + */ @Bean public DefaultAdvisorAutoProxyCreator getDefaultAdvisorAutoProxyCreator() { DefaultAdvisorAutoProxyCreator daap = new DefaultAdvisorAutoProxyCreator(); @@ -40,6 +62,10 @@ public class ShiroConfiguration { return daap; } + /** + * 获取默认 Web 安全管理器 + * @return DefaultWebSecurityManager 对象 + */ @Bean(name = "securityManager") public DefaultWebSecurityManager getDefaultWebSecurityManager() { DefaultWebSecurityManager dwsm = new DefaultWebSecurityManager(); @@ -48,19 +74,28 @@ public class ShiroConfiguration { return dwsm; } + /** + * 获取授权属性源顾问 + * @return AuthorizationAttributeSourceAdvisor 对象 + */ @Bean public AuthorizationAttributeSourceAdvisor getAuthorizationAttributeSourceAdvisor() { AuthorizationAttributeSourceAdvisor aasa = new AuthorizationAttributeSourceAdvisor(); aasa.setSecurityManager(getDefaultWebSecurityManager()); - return new AuthorizationAttributeSourceAdvisor(); + return aasa; } + /** + * 获取 Shiro 过滤器工厂 Bean + * @return ShiroFilterFactoryBean 对象 + */ @Bean(name = "shiroFilter") public ShiroFilterFactoryBean getShiroFilterFactoryBean() { ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean(); shiroFilterFactoryBean.setSecurityManager(getDefaultWebSecurityManager()); shiroFilterFactoryBean.setLoginUrl("/login"); shiroFilterFactoryBean.setSuccessUrl("/index"); + // 设置过滤链定义 filterChainDefinitionMap.put("/member/**", "authc"); filterChainDefinitionMap.put("/**", "anon"); shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);