SpringSecurity的 loginProcessingUrl为什么不能用
前情提要:
我在做一个springsecurity动态鉴权的项目时,
据网上说配置了
loginProcessingUrl("/login1");
以后 就可以自定义login的请求路径

于是我配了,不行!!我请求login1,被当成普通的请求而不是登录的请求,走了token验证的那一条过滤器
于是我问了师傅,两个人看源码看了一个小时
发现是因为我重写了UsernamePasswordAuthenticationFilter类
的原因
我们先来看一下 为什么正常情况下 loginProcessingUrl是可以自定义登录请求url路径的呢
来看security自带的类
来看里面的loginProceessingUrl方法

意思就是 你传入自定义登录url,他帮你设置到this.authFilter的匹配路径里面
根本原因来了 这个this.authFilter根本就没有提供一个set方法,也就是说 我自己写的Filter跟这里的authFilter是两个类
校验用的是我的UsernamePasswordAuthenticationFilter
设置url设置的是自带的这个filter,不是我的filter!!
也就是说 这个设置了url设置了个寂寞 根本没用到
怎么解决?

这样配即可!

浙公网安备 33010602011771号