多模块项目引入SpringSecurity后一直报404的解决方案

网友投稿 391 2022-10-17


多模块项目引入SpringSecurity后一直报404的解决方案

多模块项目引入SpringSecurity后报404

如图所示,MqWFQhLlfY在多模块应用中,1引用2后所有访问路径报错404

在确保security配置正确的情况下,检查一下1的启动类(主动引入security的那个模块)

这种写法是错误的,虽然扫描到了security模块下的组件,但是会覆盖原本自己模块下的组件。

正确的做法如下:

SpringSecurity404需要注意的地方

在使用@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.


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:如何通过EasyCVR接口监测日志观察平台拉流情况?
下一篇:胜网科技为大型检测认证集团提供IDC数据中心定制化解决方案
相关文章

 发表评论

暂时没有评论,来抢沙发吧~