acegi的一个异常错误

昨天学习acegi,发现一个异常

 

查看了以下,源代码,异常出错的地方的源代码是这样的:


可以看到,抱着个异常是因为getAuthentication()为null,但是从doc上看来,如果配置了httpSessionContextIntegrationFilter,就应该是把“在执行其他过滤器之前,率先判断用户的session中是否已经存在一个SecurityContext了。如果存在,就把SecurityContext拿出来,放到SecurityContextHolder中,供Spring Security的其他部分使用。如果不存在,就创建一个SecurityContext出来,还是放到SecurityContextHolder中,供Spring Security的其他部分使用。”。从这个上面来看,应该是context不为null,但是getAuthentication()为null。是因为没有经过授权authentication对象就为空了,但是我配置的exceptionTranslationFilter。所以这个问题一直没有解决到,昨晚忙乎了2个多小时。

 

今天早上起来突然想到了,因为exceptionTranslationFilter配置在了filterInvocationInterceptor之前,出了异常没有被exceptionTranslationFilter捕获到,所以就把2者顺序替换了以下,结果搞定。。出了这个异常的时候,自动跳转到exceptionTranslationFilter配置的authenticationEntryPoint属性了。

 

问题解决。。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值