Cartalyst Sentinel实体级别权限

时间:2016-01-27 13:40:19

标签: laravel laravel-5 rbac cartalyst-sentry cartalyst-sentinel

所以伙计们,

我一直在使用Laravel 5创建我的新网络应用程序,用于管理各个学校的评论。我已经决定将Cartalyst Sentinel包用于RBAC。

到目前为止,我已设置了4个角色:AdministratorPrincipalStaffUser

  • Administrator可以在整个网络应用程序中执行任何操作,例如添加学校,用户和评论等。
  • Principal可以在Staff分配的学校上添加/删除ReviewsAdministrator。请注意,Principal只能将现有User作为Staff分配到学校。
  • Staff可以ReviewsAdministrator
  • Principal添加到他所分配的学校
  • User是默认角色,在整个系统中没有多少权限。

我使用的流程Administrator会在系统中创建默认情况下已分配User角色的用户。然后他创建schools,保存school后,他会将User个用户指定为StaffPrincipal

我遇到的问题: Sentinel中的角色适用于应用程序级别,但在我解释我的Web应用程序时,我还需要Entity个别用户的级别权限。因此,对于User APrincipal School XStaff,但School Y可能Entity。 我应该如何在Sentinel中处理它?通过引入User / Permission映射表,还是应该使用基于Permission的访问权限?如果它是基于{{1}}的访问权限,那么针对给定学校的用户ID分配检查将在何处编程?

希望我的问题不是太宽泛 - 如果需要,我会尝试进一步缩小范围。事实是我已经搜索了好几个小时,但我无法正确地检查是否应该执行某项操作 - 比如检查用户是否是工作人员"或者通过检查用户是否可以编辑"。

0 个答案:

没有答案