我正在使用Spring Security为我的应用程序的用户提供访问权限。对于单个角色我是这样使用的:
<security:intercept-url pattern="/rest/Admin" access="hasAuthority('Admin')" />
如果他同时拥有Admin
和Employee
的角色,我想为特定网址提供用户访问权限,但我不知道该怎么做。
答案 0 :(得分:2)
要使用表达式来保护单个URL,您首先需要 将
use-expressions
元素中的<http>
属性设置为true
。 然后Spring Security将期望access
属性 包含Spring EL表达式的<intercept-url>
个元素。该 表达式应该评估为布尔值,定义是否访问 应该被允许还是不允许。例如:<http> <intercept-url pattern="/admin*" access="hasRole('admin') and hasIpAddress('192.168.1.0/24')"/> ... </http>
所以,你应该尝试使用:
<security:intercept-url pattern="/rest/Admin"
access="hasAuthority('Admin') and hasAuthority('Employee')" />