//package com.imed.costaccount.common.shiro; // //import org.apache.shiro.mgt.SecurityManager; //import org.apache.shiro.spring.LifecycleBeanPostProcessor; //import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor; //import org.apache.shiro.spring.web.ShiroFilterFactoryBean; //import org.apache.shiro.web.mgt.DefaultWebSecurityManager; //import org.springframework.context.annotation.Bean; //import org.springframework.context.annotation.Configuration; // //import javax.servlet.Filter; //import java.util.HashMap; //import java.util.LinkedHashMap; //import java.util.Map; // //@Configuration //public class ShiroConfig { // // @Bean("securityManager") // public SecurityManager securityManager(OAuth2Realm realm) { // DefaultWebSecurityManager defaultWebSecurityManager = new DefaultWebSecurityManager(); // defaultWebSecurityManager.setRealm(realm); // defaultWebSecurityManager.setRememberMeManager(null); // return defaultWebSecurityManager; // } // // @Bean("shiroFilter") // public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager,OAuth2Filter filter) { // ShiroFilterFactoryBean filterFactoryBean = new ShiroFilterFactoryBean(); // filterFactoryBean.setSecurityManager(securityManager); // // OAuth2过滤 // Map filters = new HashMap<>(); // filters.put("oauth2", filter); // filterFactoryBean.setFilters(filters); // // // HTTP请求过滤 // Map filterMap = new LinkedHashMap<>(); // filterMap.put("/webjars/**", "anon"); // filterMap.put("/druid/**", "anon"); // filterMap.put("/app/**", "anon"); // filterMap.put("/sys/login", "anon"); // filterMap.put("/swagger/**", "anon"); // filterMap.put("/v2/api-docs", "anon"); // filterMap.put("/swagger-ui.html", "anon"); // filterMap.put("/static/js/**", "anon"); // filterMap.put("/doc.html", "anon"); // filterMap.put("/swagger-resources/**", "anon"); // filterMap.put("/captcha.jpg", "anon"); // filterMap.put("/user/register", "anon"); // filterMap.put("/employee/demo", "anon"); // filterMap.put("/employee/login", "anon"); // filterMap.put("/**/*.jpg", "anon"); // filterMap.put("/**/*.png", "anon"); // // // 除了以上的,其他的都使用oauth2过滤器 // filterMap.put("/**", "oauth2"); // filterFactoryBean.setFilterChainDefinitionMap(filterMap); // return filterFactoryBean; // } // // @Bean("lifecycleBeanPostProcessor") // public LifecycleBeanPostProcessor lifecycleBeanPostProcessor() { // return new LifecycleBeanPostProcessor(); // } // // /** // * AOP 使用 的通知点增强点 // * @param securityManager // * @return // */ // @Bean // public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(SecurityManager securityManager) { // AuthorizationAttributeSourceAdvisor advisor = new AuthorizationAttributeSourceAdvisor(); // advisor.setSecurityManager(securityManager); // return advisor; // } //}