我将要开始构建一个系统,该系统将需要选择一组问题并将其保存为清单文件,以分发给任意一组用户。
我打算使用Laravel 4作为我的框架,并使用Sentry 2处理权限。
我的问题是:
如果我使用一个具有Admin级访问权限的用户来创建检查列表,并且我有100位Inspector级用户,是否可以限制每个使用Sentry的单个用户访问单个检查列表?理想情况下,我希望允许用户访问单个检查清单(检查的集合)。
您可以轻松地为清单创建单独的组:
// 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'])
在这种情况下,如果您的用户是管理员,则也可以查看它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句