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

多模块项目引入SpringSecurity后报404

如图所示,在多模块应用中,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.

可能你们的使用2丝毫没有问题。以上为个人经验,希望能给大家一个参考。

猜你在找的多模块项目引入SpringSecurity后一直报404的解决方案相关文章

责任链模式是一种行为设计模式,允许你将请求沿着处理链发送,然后处理者都可对其进行处理,完成后可以再将其传递给下一个处理者。下面将会举例说明什么是责任链模式,责
了多模块项目引入SpringSecurity后一直报404的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
了SpringSecurity整合jwt权限认证的全流程讲解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
XSS攻击全称跨站脚本攻击,是一种在web应用中的计算机安全漏洞,允许恶意web用户将代码植入到提供给其它用户使用的页面中。本文介绍防止XSS攻击的方法
所谓模板方法模式,就是一个对模板的应用,就好比老师出试卷,每个人的试卷都是一样的,这个原版试卷就是一个模板,可每个人写在试卷上的答案都是不一样的,这就是模板方法模
了如何解决springcloud feign 首次调用100%失败的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
今天给大家带来的是关于Java源码的相关知识,文章围绕着Java ImmutableMap展开,文中有非常详细的介绍及代码示例,需求的大佬可以参考下
了浅谈Ribbon、Feign和OpenFeign的区别。具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
在之前的文章中已经为大家介绍了java并发编程的工具:BlockingQueue接口,ArrayBlockingQueue,DelayQueue,LinkedBlockingQueue,PriorityBlockingQueue,SynchronousQ
了Spring boot应用启动后首次访问很慢的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
Java中null是一个关键字,用来标识一个不确定的对象。因此可以将null赋给引用类型变量,但不可以将null赋给基本类型变量。本文给大家分享Java 中的 xx ≠ null 是什
本文将结合实例代码,介绍SpringBoot+Redis实现后端接口防重复提交校验的示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下