@RolesAllowed 干扰 @RequestMapping

在 Spring Boot 应用程序中,仅使用注释,我想实现安全性

@EnableGlobalMethodSecurity(jsr360Enabled=true)在配置类中添加了一个。这个类也有一个@EnableSecurity注释

现在,当我@RolesAllowed向任何@RestController类添加 a 时,无论是在方法级别还是级别,启动日志都不会列出该类。相反,有 line: 'Rejected bean name (rest controller class): no URL paths identified'

有谁知道可能导致这种情况的原因?


江户川乱折腾
浏览 148回答 1
1回答

汪汪一只猫

在@M.Deinum 让我走上这条道路后,我做了一些阅读并进行了解释。如果有人可以详细说明或更正我的更多技术细节,请感到非常欢迎。Spring 代理类将 bean 连接在一起。那类没有实现一个接口,通过使用代理CGLIB,以与附加功能的子类该班做实现一个接口,Spring使用动态代理来访问类的功能,但这样做也可以只代理接口的方法。就我而言,我的控制器实现了一个具有非端点相关方法的接口,因此 spring 忽略了所有处理方法并且 RequestMappingHandlerMapping 没有找到任何要绑定的方法,因为如果只“看到”类上的接口方法using@EnableGlobalMethodSecurity(proxyTargetClass=true)强制使用 CGLib,因此我们的映射器可以识别完整的方法。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java