在spring boot应用程序中,我仅使用批注来实现安全性
我已将@EnableGlobalMethodSecurity(jsr360Enabled=true)
添加到配置类。班上也有@EnableSecurity
注释
现在,当我将@RolesAllowed
添加到任何@RestController
类时,无论是在方法级别还是在方法级别,启动日志都根本不会列出该类。相反,有一行:
'Rejected bean name (rest controller class): no URL paths identified'
。
有人知道这是什么原因吗?
答案 0 :(得分:1)
@ M.Deinum将我设置在路径上后,我做了一些阅读并做了解释。如果有人可以详细说明或在更多技术细节上纠正我,则非常欢迎。
Spring代理类将豆类连接在一起。
在我的情况下,我的控制器使用与非端点相关的方法实现了一个接口,因此spring忽略了所有处理方法,并且RequestMappingHandlerMapping找不到任何要绑定的方法,因为如果只“看到”了该类的接口方法>
使用@EnableGlobalMethodSecurity(proxyTargetClass=true)
会强制使用CGLib,因此完整的方法会被我们的映射器识别。