常见用法是:
<intercept-url pattern="/**" access"ROLE_ADMIN" />
Run Code Online (Sandbox Code Playgroud)
有可能做这样的事情:
<intercept-url pattern="/**" access"hasPermission("addSomething1") />
Run Code Online (Sandbox Code Playgroud)
我没有在允许的下列出的安全表达式中看到hasPermission:
我们只有:
认证; denyAll; hasAnyRole(角色列表); hasIpAddress; isAnonymous()等
我只是猜测方法安全性是否允许"hasPermission",那么它也应该也适用于Web请求.
谢谢,
是的,这是可能的.您只需切换到基于表达式的评估
<security:http use-expressions="true">
Run Code Online (Sandbox Code Playgroud)
并提供PermissionEvaluator给你的表达式处理程序:
<security:expression-hanlder ref="webSecurityExpressionHandler" />
<bean id="webSecurityExpressionHandler" class="org.springframework.security.web.access.expression.DefaultWebSecurityExpressionHandler>
<property name="permissionEvaluator" ref="aclPermissionEvaluator" />
</bean>
Run Code Online (Sandbox Code Playgroud)
当然你需要PermissionEvaluator实施.您可以自己编写,也可以使用spring-acl项目.
| 归档时间: |
|
| 查看次数: |
2435 次 |
| 最近记录: |