【发布时间】:2018-03-11 13:43:35
【问题描述】:
我需要向最终用户提供管理角色的功能。这些角色必须安全地限制端点,而且我还必须在前端显示/隐藏元素(我正在使用 AngularJS)。 我知道我必须为每个角色创建一个 role 和 ACL。但是我找不到一个好的模式来做到这一点。
例如: 假设我需要创建一个可以列出所有用户但不能编辑这些用户的角色。 应该是这样的:
我希望我清楚这一点。谢谢。
【问题讨论】:
我需要向最终用户提供管理角色的功能。这些角色必须安全地限制端点,而且我还必须在前端显示/隐藏元素(我正在使用 AngularJS)。 我知道我必须为每个角色创建一个 role 和 ACL。但是我找不到一个好的模式来做到这一点。
例如: 假设我需要创建一个可以列出所有用户但不能编辑这些用户的角色。 应该是这样的:
我希望我清楚这一点。谢谢。
【问题讨论】:
环回的最大优点是它提供的稳健性,可以用更简单的方式和更少的代码行做任何事情。
考虑到 Employee 是您的模型之一,并且您希望分配角色以使其只能获取用户,您可以将 ACL 添加到 employee.json
这是一个代码 sn-p :-
{
"accessType": "EXECUTE",
"principalType": "ROLE",
"principalId": "employee",
"permission": "ALLOW",
"property": "__get__users"
}
不要拒绝这个特定角色,您需要将此添加到 employee.json
{
"accessType": "EXECUTE",
"principalType": "ROLE",
"principalId": "employee",
"permission": "DENY",
"property": "__create__users"
},
{
"accessType": "EXECUTE",
"principalType": "ROLE",
"principalId": "employee",
"permission": "DENY",
"property": "__updateById_users"
},
【讨论】: