问题描述:使用Spring Security时,在WebSecurityConfig中需要通过@bean注解注入Security的filter对象,但是不知是不是因为spring boot框架的原因还是什么未知原因,导致在这里注入,就会多注入一次这个对象,导致filter链走完之后,又会回到这个filter中再执行一次。
@Bean
public JwtAuthenticationTokenFilter authenticationTokenFilterBean() throws Exception {
return new JwtAuthenticationTokenFilter();
}
这是WebSecurityConfig.java中原本需要注入的对象。
httpSecurity
.addFilterBefore(authenticationTokenFilterBean(), UsernamePasswordAuthenticationFilter.class);
添加到Security中,这时,可能就会因为这一次的注入,导致filter链在本应该执行完之后,再一次执行添加到Security的filter……
解决办法:将这两个代码段注释掉即可解决,当然,只是解决filter链执行完后再执行Security的filter的问题,本质上来说并不能真正的解决问题。如果有更好的理解或者更好的解决方法,欢迎讨论。
2019-5-9 16:49:00:之前这么做发现,这样Spring Security就相当于没有作用了,但是filter还是会起作用,而如果启用Spring Securityÿ