我即将开始构建一个系统,该系统需要选择一组问题并保存为清单文档,以便分发给任意一组用户。
我打算使用Laravel 4作为我的框架,使用Sentry 2来处理权限。
我的问题是:
如果我使用一个用户,比如说, Admin 级别访问权限来创建一个检查列表而我有100个 Inspector 级用户,我可以限制访问权限吗?使用Sentry的每个用户的单个清单?理想情况下,我希望允许用户访问单个清单(检查集合)。
答案 0 :(得分:1)
您可以轻松地为清单创建单独的组:
// Create the group
$group = Sentry::createGroup(array(
'name' => 'Administrators',
'permissions' => array(
'checklists.admin' => 1,
'checklists.view' => 1,
),
));
// Create the group
$group = Sentry::createGroup(array(
'name' => 'checklists.view.101',
'permissions' => array(
'checklists.view.101' => 1,
),
));
将您的用户添加到核对清单组:
$user = Sentry::getUser()->addGroup( Sentry::getGroupProvider()->findByName('Checklist101') );
并检查它是否可以访问它:
return $user->hasAnyAccess(['checklists.view', 'checklists.view.101'])
在这种情况下,如果您的用户是管理员,它也可以查看它。