您的位置:首页 > 编程语言 > Java开发

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的代码
@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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  springboot shiro filter
相关文章推荐