laravel 中特定项目的权限和角色?

时间:2021-04-12 06:36:02

标签: laravel security spatie laravel-permission

在 laravel 中创建一个用户管理系统非常容易,我们在其中创建一个用户并分配一个角色,该角色具有不同类型的权限。我们在视图中使用@can 并在控制器中使用门功能来限制用户的功能。这是我的情况,我们在不同的区域有不同的项目如何分配项目和项目区域,用户只能在分配的区域看到分配的项目。如何建立关系以及如何在gate的auth service Provider函数中编辑以下函数

 public function boot()
{
    $this->registerPolicies();

    $user = \Auth::user();

    
    if (! app()->runningInConsole()) {
        $roles = Role::with('permission')->get();
        $permissionArray = [];
        foreach ($roles as $role) {
            foreach ($role->permission as $permission) {
                $permissionArray[$permission->name][] = $role->id;
            }
        }


        foreach ($permissionArray as $name => $roles) {
            Gate::define($name, function (User $user) use ($roles) {
                return count(array_intersect($user->roles->pluck('id')->toArray(), $roles));
            });
        }

0 个答案:

没有答案
相关问题