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 に答える