如果我有控制器方法
@RequestMapping (value = "/boards/{id}")
public String viewBoard(@PathVariable(value="id") String id){/*..*/}
我如何通过查询run-time
并为该板ID访问获取所需的值(对于登录用户),在pre authorize
,database
用户为其动态创建。
我尝试使用Spring安全角色研究runtime dynamic
spring安全权限,但无法找到一个有效的示例。
进一步阐述:
这意味着,每次用户想要访问该方法时,都会检查数据库是否具有该权限的用户权限。
这不能在roles
中完成,因为可能有数百万个案例。,例如一个用户可能具有对于电路板ID 3的视图访问,但对于电路板ID 10003不具有视图访问权限
我收到了一些链接:
http://docs.spring.io/spring-security/site/docs/3.1.x/reference/ns-config.html#ns-method-security
http://docs.spring.io/spring-security/site/docs/3.0.x/reference/el-access.html
http://www.javabeat.net/separating-roles-and-permissions-in-spring-security/
更多信息:
我正在使用public class CustomUserDetailsService implements UserDetailsService{
在登录时为用户提供角色。但那是一个不同的故事。
答案 0 :(得分:0)
您可以扩展Spring安全性以提供您自己的表达式:hasRole
请参阅此问题以获取示例:How to create custom methods for use in spring security expression language annotations
寻找示例时的一个重点:注意示例是针对METHOD-Resolver,而不是针对WEB-Resolver!