将权限附加到Laravel 5中的角色
我使用romanbican/roles包来管理我的将权限附加到Laravel 5中的角色,laravel,permissions,roles,Laravel,Permissions,Roles,我使用romanbican/roles包来管理我的角色/权限。现在,我有了一个特定的角色(例如,admin),它拥有权限create\u user,edit\u user,delete\u user。我为此使用了复选框,因此如果我未选中权限(例如删除用户),此权限将从管理员角色中分离。这是我使用的软件包的链接。有一种方法叫做attachRole()或attachPermission和detachRole或detachPermission。需要你们的帮助,伙计们,关于这件事我已经忙了两天了,所以我
角色/权限
。现在,我有了一个特定的角色(例如,admin
),它拥有权限create\u user
,edit\u user
,delete\u user
。我为此使用了复选框,因此如果我未选中
权限(例如删除用户
),此权限将从管理员
角色中分离。这是我使用的软件包的链接。有一种方法叫做attachRole()
或attachPermission
和detachRole
或detachPermission
。需要你们的帮助,伙计们,关于这件事我已经忙了两天了,所以我想是时候问一下了:)我真的不完全理解你们的问题,但看起来你们有一个界面,可以使用复选框为用户分配权限。这里有一种方法可以做到这一点
$admin = User::find(1);
$admin->detachAllPermissions();
$permission = $request->get('permissions');
// loop through all checked permission passed from view
// we are assuming $permissions array to be an array of slug of permissions
foreach($permissions as $permission_slug){
//get the permission object by slug
$permission = Bican\Roles\Models\Permission::where('slug', $permission)->get();
//attach to admin
$admin->attachPermission($permission);
}
这是解释
获取要修改其权限的用户对象。在你的情况下,它是管理员。我刚刚硬编码,但你可以根据需要更改李>
分离此用户的所有权限
循环遍历从表单传递的所有权限段塞,从数据库获取权限对象并将其分配给用户李>
注意:请注意,我还没有测试过这段代码,这是一个基于插件提供的函数的算法
插件还具有$user->detachPermission($permission)
方法,该方法接受单个权限并在附加时将其与用户分离