在 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
提交
取消