如何使用Entrust

时间:2015-04-24 18:24:07

标签: database laravel permissions eloquent roles

背景:一个用户可以在零,一个或多个部门。

我正在尝试使用Entrust package by Zizaco在我的应用程序中设置角色和权限。这看起来相当简单,但是我的用例与开箱即用的用例略有不同,如果我正确理解它,因为它应该将一个角色附加到用户。

在我的情况下,用户可以在不同的部门中拥有不同的角色。例如,部门A中的用户John可以是管理员,而部门B中的John只是审阅者。如果我按原样使用Entrust,那么John将在他所属的两个部门中同时拥有管理员和审阅者。

我尝试在用户和部门之间创建一个数据透视表,然后修改Entrust来解决这个问题'在department_user表中,当我尝试做一些像下面这样简单的事情来创建一个表来显示部门中的哪些用户具有什么角色时,我无法正常工作:

$department = Department::find(1);
$users = $department->users;

有没有办法可以修改Entrust这样的工作?或者这种用例有更好的包装吗?所有部门的角色都是相同的,为了提高效率,我希望避免创建部门特定的角色(如会计管理员,生物管理员等)。

0 个答案:

没有答案