我已经阅读了 Laravel 5.1 和 4.2.11 中的策略和门。 Laravel 5.1 的新手。
我在 Laravel 上有一个巨大的项目,我需要构建 ACL 或相同的项目。 我尝试过使用这个名为 spatie/laravel-permission 的包并成功设置。
然后我继续尝试弄清楚迁移是否已创建,并且您可以立即获得一些样板。
虽然我无法理解,但如果管理员想要使用 Controller 中的某些方法直接从前端分配多个角色和权限,该怎么办?
我尝试从 php artisantinker
分配多个角色和权限。
我有一个方法 allocateRole(),我想为管理员直接分配的用户分配多个角色和权限。
包中定义了 allocateRole() 和 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 Backpack 的权限管理器。它建立在 spatie/laravel-permission 之上,并且还提供了一个漂亮的 GUI 来管理权限。可能正是您所需要的。
关于php - Laravel 5.1 ACL 使用 spatie/laravel-permission,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37259874/