Merge remote-tracking branch 'origin/在线访问lhj' into 在线访问lhj

在线访问lhj
李宏杰 8 months ago
commit da1bcb0883

@ -15,59 +15,63 @@ import org.springframework.context.annotation.Configuration;
/** /**
* Shiro * Shiro
*/ */
@Configuration @Configuration
public class ShiroConfiguration { public class ShiroConfiguration {
// 定义过滤链定义映射 // 定义过滤链定义映射,用于配置 Shiro 的权限控制规则
private static Map<String, String> filterChainDefinitionMap = new LinkedHashMap<String, String>(); private static Map<String, String> filterChainDefinitionMap = new LinkedHashMap<String, String>();
/** /**
* Shiro * Shiro MemberRealm
* @return MemberRealm * @return MemberRealm
*/ */
@Bean(name = "shiroRealm") @Bean(name = "shiroRealm")
public MemberRealm getShiroRealm() { public MemberRealm getShiroRealm() {
// 创建 MemberRealm 实例
return new MemberRealm(); return new MemberRealm();
} }
/** /**
* EhCache * EhCache Shiro
* @return EhCacheManager * @return EhCacheManager
*/ */
@Bean(name = "shiroEhcacheManager") @Bean(name = "shiroEhcacheManager")
public EhCacheManager getEhCacheManager() { public EhCacheManager getEhCacheManager() {
// 创建 EhCacheManager 实例,并设置其配置文件路径
EhCacheManager em = new EhCacheManager(); EhCacheManager em = new EhCacheManager();
em.setCacheManagerConfigFile("classpath:ehcache-shiro.xml"); em.setCacheManagerConfigFile("classpath:ehcache-shiro.xml");
return em; return em;
} }
/** /**
* Bean * Bean Shiro Bean
* @return LifecycleBeanPostProcessor * @return LifecycleBeanPostProcessor
*/ */
@Bean(name = "lifecycleBeanPostProcessor") @Bean(name = "lifecycleBeanPostProcessor")
public LifecycleBeanPostProcessor getLifecycleBeanPostProcessor() { public LifecycleBeanPostProcessor getLifecycleBeanPostProcessor() {
// 创建 LifecycleBeanPostProcessor 实例
return new LifecycleBeanPostProcessor(); return new LifecycleBeanPostProcessor();
} }
/** /**
* *
* @return DefaultAdvisorAutoProxyCreator * @return DefaultAdvisorAutoProxyCreator
*/ */
@Bean @Bean
public DefaultAdvisorAutoProxyCreator getDefaultAdvisorAutoProxyCreator() { public DefaultAdvisorAutoProxyCreator getDefaultAdvisorAutoProxyCreator() {
// 创建 DefaultAdvisorAutoProxyCreator 实例,并设置代理目标类为 true
DefaultAdvisorAutoProxyCreator daap = new DefaultAdvisorAutoProxyCreator(); DefaultAdvisorAutoProxyCreator daap = new DefaultAdvisorAutoProxyCreator();
daap.setProxyTargetClass(true); daap.setProxyTargetClass(true);
return daap; return daap;
} }
/** /**
* Web * Web Shiro
* @return DefaultWebSecurityManager * @return DefaultWebSecurityManager
*/ */
@Bean(name = "securityManager") @Bean(name = "securityManager")
public DefaultWebSecurityManager getDefaultWebSecurityManager() { public DefaultWebSecurityManager getDefaultWebSecurityManager() {
// 创建 DefaultWebSecurityManager 实例,并设置相关属性
DefaultWebSecurityManager dwsm = new DefaultWebSecurityManager(); DefaultWebSecurityManager dwsm = new DefaultWebSecurityManager();
dwsm.setRealm(getShiroRealm()); dwsm.setRealm(getShiroRealm());
dwsm.setCacheManager(getEhCacheManager()); dwsm.setCacheManager(getEhCacheManager());
@ -75,27 +79,29 @@ public class ShiroConfiguration {
} }
/** /**
* * Spring AOP
* @return AuthorizationAttributeSourceAdvisor * @return AuthorizationAttributeSourceAdvisor
*/ */
@Bean @Bean
public AuthorizationAttributeSourceAdvisor getAuthorizationAttributeSourceAdvisor() { public AuthorizationAttributeSourceAdvisor getAuthorizationAttributeSourceAdvisor() {
// 创建 AuthorizationAttributeSourceAdvisor 实例,并设置相关属性
AuthorizationAttributeSourceAdvisor aasa = new AuthorizationAttributeSourceAdvisor(); AuthorizationAttributeSourceAdvisor aasa = new AuthorizationAttributeSourceAdvisor();
aasa.setSecurityManager(getDefaultWebSecurityManager()); aasa.setSecurityManager(getDefaultWebSecurityManager());
return aasa; return aasa;
} }
/** /**
* Shiro Bean * Shiro Bean Shiro
* @return ShiroFilterFactoryBean * @return ShiroFilterFactoryBean
*/ */
@Bean(name = "shiroFilter") @Bean(name = "shiroFilter")
public ShiroFilterFactoryBean getShiroFilterFactoryBean() { public ShiroFilterFactoryBean getShiroFilterFactoryBean() {
// 创建 ShiroFilterFactoryBean 实例,并设置相关属性
ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean(); ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
shiroFilterFactoryBean.setSecurityManager(getDefaultWebSecurityManager()); shiroFilterFactoryBean.setSecurityManager(getDefaultWebSecurityManager());
shiroFilterFactoryBean.setLoginUrl("/login"); shiroFilterFactoryBean.setLoginUrl("/login");
shiroFilterFactoryBean.setSuccessUrl("/index"); shiroFilterFactoryBean.setSuccessUrl("/index");
// 设置过滤链定义 // 设置过滤链定义映射
filterChainDefinitionMap.put("/member/**", "authc"); filterChainDefinitionMap.put("/member/**", "authc");
filterChainDefinitionMap.put("/**", "anon"); filterChainDefinitionMap.put("/**", "anon");
shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap); shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);

Loading…
Cancel
Save