在哪种情况下,方法级别安全性比URL级别安全性更有帮助

时间:2014-03-25 06:47:34

标签: spring-mvc spring-security

我正在使用Spring MVC和Spring Security制作一个简单的Web应用程序。有人可以解释我在哪些情况下我们需要方法级别的安全性和URL级别的安全性? 因为我们可以限制特定角色的用户通过URL级别安全性访问页面,或者通过在视图中保留安全性标记来执行操作。那么,用户如何从服务层访问方法?在这种情况下,方法级安全性如何帮助?请解释一下。

提前致谢。

1 个答案:

答案 0 :(得分:0)

方法级别安全性可视为URL级别安全性的补充。例如,我们可能希望应用程序中的某些URL受到保护,需要角色ROLE_USER才能访问它们。这可以通过URL级别安全性来实现。

https://domain.com/entities/5

考虑上面的URL,可以使用URL级别安全性进行保护,如下所示。

<security:intercept-url pattern="/entities/**" access="hasRole('ROLE_USER')" />

但是,有时您需要更细粒度的安全性。例如,您可能希望仅允许其所有者访问给定实体(id = 5)。这是您无法通过URL级别安全性实现的,但可以通过方法级别的安全性来实现。