我正在学习 Spring 安全性,但我对它的灵活性感到困惑..
我知道我可以通过在标签中定义规则来保护网址
然后我看到有一个@secure 注释可以保护方法。
然后还有其他注释来保护域(或 POJO)的读取/更新
所以当我想开发一个典型的权限/角色/用户 Web 应用程序时,除了创建规则来保护 url 之外,我还必须使用 @secure 注释来保护方法吗?
ej。
或者步骤 4 或 5 之一是多余的。
对不起我的英语
最佳答案
URL 级别的安全性相当丰富,可以通过查看 fluent API of HttpSecurity 看出。 , 例如。
但是在 Spring 安全性中使用方法级安全性至少有两个原因:
/myapi/order/{id}
可以接受 GET 和 DELETE,并且 DELETE 可能仅对具有 Supervisor 角色的用户可用。您不能通过 URL 安全性指定该规则,但您可以通过方法安全性来指定该规则,例如使用 @Secured("Supervisor")
在处理 DELETE 的方法上。 关于spring 安全、方法安全和 url 安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10826362/