扩展包: spatie/laravel-permission

常用方法:
public function postTest(Request $request)
    {
        //新增角色
        // $role = Role::create(['name' => '组长3']);
        //新增权限
        // $permission = Permission::create(['name' => '删除用户']);

        //为角色分配权限
        // $role       = Role::findById(6);
        // $permission = Permission::findById(4);
        // $res        = $role->givePermissionTo($permission);
        // $res        = $permission->assignRole($role);


        //将多个权限同步到一个角色
        // $role       = Role::findById(6);
        // $permissions = Permission::get();
        // $res=$role->syncPermissions($permissions);

        // $permission = Permission::findById(4);
        // $roles       = Role::get();
        // $res = $permission->syncRoles($roles);

        //从角色中删除权限
        // $role = Role::findById(6);
        // $permission = Permission::findById(4);
        // $res        = $role->revokePermissionTo($permission);
        // $res = $permission->removeRole($role);

        //为用户分配权限
        // $user = User::find(2);
        // $res  = $user->givePermissionTo('添加用户');
        // $res = $user->givePermissionTo(['添加用户', '编辑用户']);
        //从用户撤销权限
        // $res  = $user->revokePermissionTo('添加用户');
        // $res  = $user->revokePermissionTo(['添加用户', '编辑用户']);

        //一次性撤销并添加新权限
        // $user->syncPermissions(['edit articles', 'delete articles']);

        //将角色分配给任何用户
        // $res  = $user->assignRole('组长');
        // $res = $user->assignRole(['组长', '组长2']);

        //用户中删除角色
        // $res=$user->removeRole('组长');

        //删除老角色添加新角色
        // $res = $user->syncRoles(['组长']);

        //检查用户是否具有特定角色
        // $res=$user->hasRole('组长');

        //检查用户是否有特定权限
        // $res = $user->hasPermissionTo('添加用户');

        // return $this->success($res);
    }