- @Component
- public class ShiroConfiguration {
- @Bean
- public EhCacheManager ehCacheManager()
- {
- EhCacheManager manager =new EhCacheManager();
- manager.setCacheManagerConfigFile("classpath:ehcache-shiro.xml");
- return manager;
- }
- @Resource
- private MyShiroRealm myShiroRealm;
- @Bean
- public SecurityManager securityManager()
- {
- DefaultwebSecurityManager defaultWebSecurityManager =new DefaultWebSecurityManager();
- defaultWebSecurityManager.setRealm(myShiroRealm);
- defaultWebSecurityManager.setCacheManager(ehCacheManager());
- return defaultWebSecurityManager;
- }
- @Bean
- public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager)
- {
- ShiroFilterFactoryBean shiroFilterFactoryBean =new ShiroFilterFactoryBean();
- shiroFilterFactoryBean.setSecurityManager(securityManager);
- Map map = newLinkedHashMap<>();
- Map filterMap = newLinkedHashMap<>();
- filterMap.put("authc",loginFilter());
- filterMap.put("perms",myFilter());
- shiroFilterFactoryBean.setFilters(filterMap);
- //map.put("/RPCAFA2A208FA648EA27C1EC30CADFC8B3D","anon");
- //map.put("/**","authc");map.put("/RPC52CA3404FDADAB18F91E8210DFCE1522","perms[admin:test]");
- map.put("/RPC66EED9EBACF5FB42B9AD9C069495587F","perms[test]");
- map.put("/**","authc");
- //map.put("/**","myfilter");
- shiroFilterFactoryBean.setFilterChainDefinitionMap(map);
- return shiroFilterFactoryBean;
- }
- @Bean
- public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(SecurityManager securityManager)
- {
- AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor =new AuthorizationAttributeSourceAdvisor();
- authorizationAttributeSourceAdvisor.setSecurityManager(securityManager);
- return authorizationAttributeSourceAdvisor;
- }
- /*@Bean
- public MyShiroRealm myShiroRealm()
- {
- MyShiroRealm myShiroRealm = new MyShiroRealm();
- //myShiroRealm.setCacheManager(manager);
- return myShiroRealm;
- }*/
- @Bean
- public LoginFilter loginFilter()
- {
- return new LoginFilter();
- }
- @Bean
- public MyFilter myFilter()
- {
- return new MyFilter();
- }
- }
来源: http://www.bubuko.com/infodetail-2004283.html