SpringBoot 整和 shiro 把拦截路径提出到配置文件中
2017-07-21 12:30
453 查看
背景:前几天我在研究SpringBoot 的时候,在网上找了很多资料,发现只能用配置类来配置 shiro,关于拦截的路径的配置,也只能写在配置类中。如下图:
filterChainDefinitionMap.put("/tologin.action", "anon"); //表示可以匿名访问
因为把拦截的路径写死在配置类中,程序不好维护。
经研究可以把上面 这部分:
拿到 configuration.yml 中。(上面部分就可以注释掉了)在 yml 文件中配置如下:
然后再给最上面的配置类加上 @ConfigurationProperties(prefix="shiroFilter") 注解即可(意为从配置文件中读取属性,前缀是shiroFilter)如果还有个性化的拦截设置,可以在上面的yml片段中修改。经测试,完美运行。
@Configuration
//shiro 的核心配置类 public class ShiroConfiguration {
@Bean(name="shiroFilter")
public ShiroFilterFactoryBean shiroFilter(@Qualifier("securityManager") SecurityManager manager) { ShiroFilterFactoryBean bean=new ShiroFilterFactoryBean(); bean.setSecurityManager(manager); //配置登录的url和登录成功的url bean.setLoginUrl("/index.jsp"); bean.setSuccessUrl("/home.action");
private LinkedHashMap<String, String> filterChainDefinitionMap=new LinkedHashMap<>();
filterChainDefinitionMap.put("/tologin.action", "anon"); //表示可以匿名访问
filterChainDefinitionMap.put("/login.action", "anon");
filterChainDefinitionMap.put("/staticfile/**","anon");
filterChainDefinitionMap.put("/*", "authc");//表示需要认证才可以访问
filterChainDefinitionMap.put("/**", "authc");//表示需要认证才可以访问
filterChainDefinitionMap.put("/*.*", "authc");
bean.setFilterChainDefinitionMap(filterChainDefinitionMap);
return bean;
}......
因为把拦截的路径写死在配置类中,程序不好维护。
经研究可以把上面 这部分:
filterChainDefinitionMap.put("/tologin.action", "anon"); //表示可以匿名访问 filterChainDefinitionMap.put("/login.action", "anon"); filterChainDefinitionMap.put("/staticfile/**","anon"); filterChainDefinitionMap.put("/*", "authc");//表示需要认证才可以访问 filterChainDefinitionMap.put("/**", "authc");//表示需要认证才可以访问 filterChainDefinitionMap.put("/*.*", "authc")
拿到 configuration.yml 中。(上面部分就可以注释掉了)在 yml 文件中配置如下:
shiroFilter: filterChainDefinitionMap: /tologin.action: anon /login.action: anon /staticfile/**: anon /**: authc /*.*: authc /*: authc /: authc
然后再给最上面的配置类加上 @ConfigurationProperties(prefix="shiroFilter") 注解即可(意为从配置文件中读取属性,前缀是shiroFilter)如果还有个性化的拦截设置,可以在上面的yml片段中修改。经测试,完美运行。
相关文章推荐
- spring-boot 加载本地静态资源文件路径配置
- spring-boot 加载本地静态资源文件路径配置
- spring-boot 加载本地静态资源文件路径配置
- spring boot整合shiro引用配置文件配置是出现的问题
- spring boot 加载本地静态资源文件路径配置
- SpringBoot中通过配置文件控制路径和变量(三)
- SpringBoot自定义配置文件路径
- spring-boot 加载本地静态资源文件路径配置
- spring-boot 加载本地静态资源文件路径配置
- spring-boot 加载本地静态资源文件路径配置
- spring-boot 加载本地静态资源文件路径配置
- springboot(2)-springboot中的配置文件设置之(修改访问端口和访问路径)
- spring-boot 加载本地静态资源文件路径配置
- spring-boot 加载本地静态资源文件路径配置
- Spring Boot属性配置文件详解
- SpringBoot学习:获取yml和properties配置文件的内容
- 第三节:SpringBoot使用properties配置文件实现多环境配置
- 关于SpringBoot的配置文件
- Springboot解决IDEA读取properties配置文件的中文乱码
- 第2.1.7章 WEB系统最佳实践Spring文件配置之spring-shiro.xml