6

我安装了 Spatie Permissions 包,并创建了策略来限制使用此包的模型的访问权限。

但是,我在创建一个门以使某些角色(例如“管理员”和“内容编辑器”)访问 Nova 仪表板时遇到了一些困难?

我认为它会涉及 NovaServiceProvider 中的 gate() 函数。这是我尝试过的。

   protected function gate()
    {
        Gate::define('viewNova', function ($user) {
             if ($user->hasRole('Admin') || $user->hasRole('Content Editor'))
    {
        return true;
    }
       });
    }
4

1 回答 1

7

你可以像这样实现你想要的:

/**
 * Register the Nova gate.
 *
 * This gate determines who can access Nova in non-local environments.
 *
 * @return void
 */
protected function gate()
{
    Gate::define('viewNova', function ($user) {
        return $user->hasAnyRole(['Admin', 'Content Editor']);
    });
}

更多关于授权访问 Nova 的文档信息:https ://nova.laravel.com/docs/1.0/installation.html#authorizing-nova

于 2018-09-12T18:13:35.390 回答