在 Spring Boot 应用程序中,仅使用注释,我想实现安全性我@EnableGlobalMethodSecurity(jsr360Enabled=true)在配置类中添加了一个。这个类也有一个@EnableSecurity注释现在,当我@RolesAllowed向任何@RestController类添加 a 时,无论是在方法级别还是级别,启动日志都不会列出该类。相反,有 line: 'Rejected bean name (rest controller class): no URL paths identified'。有谁知道可能导致这种情况的原因?
1 回答
汪汪一只猫
TA贡献1898条经验 获得超8个赞
在@M.Deinum 让我走上这条道路后,我做了一些阅读并进行了解释。如果有人可以详细说明或更正我的更多技术细节,请感到非常欢迎。
Spring 代理类将 bean 连接在一起。
那类没有实现一个接口,通过使用代理CGLIB,以与附加功能的子类
该班做实现一个接口,Spring使用动态代理来访问类的功能,但这样做也可以只代理接口的方法。
就我而言,我的控制器实现了一个具有非端点相关方法的接口,因此 spring 忽略了所有处理方法并且 RequestMappingHandlerMapping 没有找到任何要绑定的方法,因为如果只“看到”类上的接口方法
using@EnableGlobalMethodSecurity(proxyTargetClass=true)
强制使用 CGLib,因此我们的映射器可以识别完整的方法。
添加回答
举报
0/150
提交
取消