【发布时间】:2016-06-23 12:56:59
【问题描述】:
如何使用 Picketlink[1] 对权限进行分组,以便将一个或多个特定的权限组分配给角色?
提前致谢。
【问题讨论】:
标签: security picketlink
如何使用 Picketlink[1] 对权限进行分组,以便将一个或多个特定的权限组分配给角色?
提前致谢。
【问题讨论】:
标签: security picketlink
提问前你有没有阅读官方文档? 如果是,向我们展示您的努力将使我们更容易为您提供帮助。 如果没有,请查看this。
我问你这个是有原因的:我认为你误解了 Group、Role 和 Permission 的概念。
Group 用于管理身份类型的集合。例如,Alice 和 Bob 可能是属于“员工”组的用户身份。
角色用于各种关系类型,以指定权限给另一种身份类型,以在应用程序中执行各种操作。 例如,Trent 可以是具有“主持人”角色的用户身份。
权限可以分配给用户、组和角色。 您可以选择在应用程序中管理权限的方式。
访问控制可以基于群组(“只有员工可以使用此方法”)、角色(“只有版主可以删除帖子”)甚至用户(“我是这里唯一可以吃培根的人!”)。这可以通过使用 Permission API 来完成,如上面链接的文档中所述。
相信我,我知道一开始可能不是那么简单 - 但请努力; 然后随便问什么:)
让我们知道!
如您所说,PicketLink 的 Permission API 只允许您一次分配一个权限。 无论如何,请注意,即使您必须一次授予一个权限,这并不意味着您不能向一个实例授予多个权限:
permissionManager.grantPermission(adminRole, resource, myPermissions.CREATE)
permissionManager.grantPermission(adminRole, resource, myPermissions.DELETE)
permissionManager.grantPermission(adminRole, resource, myPermissions.UPDATE)
为每个拥有 adminRole 并需要调用 resource 的用户授予 3 个权限。
【讨论】: