为了账号安全,请及时绑定邮箱和手机立即绑定

@RolesAllowed 干扰 @RequestMapping

@RolesAllowed 干扰 @RequestMapping

江户川乱折腾 2021-10-20 16:03:09
在 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,因此我们的映射器可以识别完整的方法。


查看完整回答
反对 回复 2021-10-20
  • 1 回答
  • 0 关注
  • 147 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信