spe*_*0ne 0 permissions spring acl spring-security
我需要在项目中添加角色和权限以及访问列表.我找到了这个,但我发现它有点过于基本和具体.
在实施之前是否有更好的教程/文章/示例我应该阅读或遵循?
我也不喜欢所提供教程的特殊性.我没有指向教程的链接,但也许我可以给你一些路标来指导你的解决方案.
我所做的是创建自己的ACL和权限.我创建了一个新类SecuredEntity,它是我所有需要ACL支持的域实体的父类.在我的情况下这是可能的,因为我从头开始.显然,如果你不能扩展共同的祖先,你可以使用组合而不是继承.
这个SecuredEntity包含我自己的ACL实现,它基本上是一个主体到权限的映射.委托人是帐户ID,角色或组.每个用户都有一组主体,它们可以作为集合{用户自己的帐户,用户的所有角色以及帐户所属的任何组}.
然后,我实现了一个自定义PermissionEvaluator,它检索为提供的身份验证指示的用户设置的主体,然后检查指示的对象以确定用户是否已指示权限.
在使用Default表达式处理程序和Web表达式处理程序注册自定义权限评估程序之后,我可以使用诸如的表达式
@PreAuthorize("hasPermission(#entityId, 'EntityClass', 'read')")
@RequestMapping("/entities/{entityId}")
public String fetchEntity(@PathVariable("entityId") String entityId) {...}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4147 次 |
| 最近记录: |