繁体   English   中英

使用Spatie / laravel权限的Laravel 5.1 ACL

[英]Laravel 5.1 ACL using spatie/laravel-permission

我已经阅读了有关Laravel 5.1和4.2.11中的策略和门的信息。 laravel 5.1的新手。

我在laravel上有一个庞大的项目,我将需要构建ACL或相同的版本。 我已经尝试过使用名为spatie / laravel-permission的软件包并成功进行设置。

然后,我继续尝试找出迁移已创建,并且您可以直接使用一些样板。

尽管我在理解方面失败了,但是如果管理员想使用控制器中的某些方法直接从前端分配多个角色和权限,该怎么办?

我尝试过分配来自php artisan tinker多个角色和权限。

我有一个方法assignRole(),我想向管理员直接分配的用户分配多个角色和权限。

包中定义了assignRole()和givePermissions()方法,我将如何利用它们?

就模型而言,我已经在模板中尝试过

@foreach($users as $user )
{{$user->email}}
@foreach($user->roles as $role)
{{$role->name}}
@endforeach
@foreach($user->permisssions as $permission )
{{$permission->name}}
@endforeach
@endforeach

这向我显示了经过身份验证的用户权限。

我的controller.php

public function showRolesandpermission(){

$users = Auth::user();

return view("admin.assignrole", compact("users"));

}

public function update(Request $request, $id){

$user = User::whereID($id)->firstOrFail();


if(count($user)>0)
{
$roles = [];
$permissions = [];
foreach(Role::all() as $r)
            {
                $roles[$r->id] = $r->name;
            }
foreach(Permission::all() as $permissions)
            {
                $permissions[$permissions->id] = $permissions->name;
            }
$role1 = Request::get("role");
$perm = Request::get("permissions");
if(isset($role1) && isset($perm)){

$user->roles->update([
$request->name = $request->name

]);

$user->permissions->update([
$request->name = $request->name
]);

$user->save();

return redirect::back();
} 
}

}

我该如何利用它并直接从前端自行编辑用户权限? 我们如何使用多选等功能来更新用户角色和权限。

尽力而为,但几乎没有提示会有所帮助。

结帐Laravel背包的权限管理器。 它建立在spatie / laravel-permission的基础上,还提供了一个不错的GUI来管理权限。 可能是您所需要的。

https://github.com/Laravel-Backpack/permissionmanager

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM