springboot集成Shiro,添加自定义filter后shiro的默认filter无法使用

在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;
    }
}



评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值