springboot集成Shiro,添加自定义filter后shiro的默认filter无法使用
2017-10-31 16:54
369 查看
在springboot中集成shiro,发现再添加了自定义的filter后默认的filter无法使用。
猜测是自定义的filter被放在了默认的filter前面,导致先被自定义的filter拦截了。
网上搜了一遍,只发现了一篇相关的文章:http://www.hillfly.com/2017/179.html
证实了的确是我所猜想的那般,自定义的filter被放在了shiro默认filter的前面。
根据上面文章作者所说,不要将自定义的在spring容器中进行注册
不过这样又导致了一个新的问题,自定义的filter中无法将spring容器中的bean注入到变量中
注意,这里的Resource注解是后来才去掉的,不要跟我说是因为注释掉了才无法注入。
最后的解决办法就是手动从spring容器中获取bean,然后进行赋值:
这里附上SpringContextUtils的代码
猜测是自定义的filter被放在了默认的filter前面,导致先被自定义的filter拦截了。
网上搜了一遍,只发现了一篇相关的文章:http://www.hillfly.com/2017/179.html
证实了的确是我所猜想的那般,自定义的filter被放在了shiro默认filter的前面。
根据上面文章作者所说,不要将自定义的在spring容器中进行注册
不过这样又导致了一个新的问题,自定义的filter中无法将spring容器中的bean注入到变量中
注意,这里的Resource注解是后来才去掉的,不要跟我说是因为注释掉了才无法注入。
最后的解决办法就是手动从spring容器中获取bean,然后进行赋值:
这里附上SpringContextUtils的代码
@Component public class SpringContextUtils implements ApplicationContextAware { private static ApplicationContext context; public void setApplicationContext(ApplicationContext context) throws BeansException { SpringContextUtils.context = context; } public static ApplicationContext getContext(){ return context; } }
相关文章推荐
- 使用Spring配置shiro时,自定义Realm中属性无法使用注解注入解决办法
- 使用Spring配置shiro时,自定义Realm中属性无法使用注解注入解决办法
- 使用Spring配置shiro时,自定义Realm中属性无法使用注解注入解决办法
- 使用Spring配置shiro时,自定义Realm中属性无法使用注解注入解决办法
- 使用Spring配置shiro时,自定义Realm中属性无法使用注解注入解决办法
- 使用自定义模板为Myeclipse添加新建Filter的功能
- spring-shiro实现角色(roles)自定义Filter----配置多个角色的或关系
- spring+memcached+mybatis整合,memcached使用main函数可以保存自定义对象,使用spring管理memcached配置后无法保存
- springboot 继承shiro 使用redis缓存 @Value 标签无效 无法获取值
- 使用useradd添加用户后默认sh为/bin/sh导致无法使用history
- Spring类注册不上,applicationContext不初始化,在Filter中无法getBean、使用Dao、Service等
- Spring Boot添加自定义Filter
- 使用spring的DelegatingFilterProxy代理配置web.xml的自定义filter
- spring boot shiro结合使用,资源资源加载不到问题(filterchain的问题 ) 3ff8
- spring使用AOP和自定义注解功能添加日志管理--实用
- SpringCloud 中使用 Ribbon(默认轮询规则 + 自定义规则)
- 使用mybatis-generator添加自定义分页插件时提示无法实例化插件类
- 使用mybatis-generator添加自定义分页插件时提示无法实例化插件类
- spring boot配置shiro自定义shiro filter匹配异常
- 使用自定义模板为Myeclipse添加新建Filter的功能