在使用@RequestMapping的时候路径的值如果写为("auth"),虽然用的时候前面加不加"/"没有区别,但是在配置了SpringSecurity的http.authorizeRequests().antMatchers()时就必须要注意了!
?1-->@RequestMapping("auth")
与.antMatchers("auth")
请求路径 http://localhost:8080/auth 与 http://localhost:8080/auth/ 都映射不到你指定的antMatchers("auth")上,而是给了.anyRequest().authenticated()处理.
?2-->@RequestMapping("auth")
与.antMatchers("/auth")
请求路径 http://localhost:8080/auth 是正常对应的 http://localhost:8080/auth/ 交给了.anyRequest().authenticated()处理.
?3-->@RequestMapping("/auth")
与.antMatchers("auth")
同?1
?4-->@RequestMapping("/auth")
与.antMatchers("/auth")
同?2
结论: 使用.antMatchers("/auth")
和@RequestMapping("/auth")
,为什么呢? 这就是我写这篇文章的原因.?2之前是能用的但是偏偏今天就404了,我就对比都试了下.试完?4后?2能用了,我还是不太相信?2所以推荐大家使用?4.
可能你们的使用?2丝毫没有问题,有问题的话欢迎留言讨论.