私はLaravel 5.3を使用しています。私はポリシークラスを作成できましたが、ゲートクロージャを登録しようとすると、常に拒否されます。ここゲート閉鎖は常に拒否されます
はAuthServiceProvider
ここpublic function boot()
{
$this->registerPolicies();
Gate::define('view-admin-index', function ($user, $company) {
return true;
});
}
でboot()
方法であって、ダンプ時に出力されます。
dd(Gate::has('view-admin-index')); => true
dd(Gate::allows('view-admin-index', $company)); => false
がこれを行う場合、私はまたfalse
代わりの"here"
を取得
UPDATE:
// In AuthServiceProvider
Gate::define('view-admin-index', function ($user, $company) {
dd('here');
return true;
});
// In controller, output is false
dd(Gate::allows('view-admin-index', $company));
UPDATEは2
// In controller, there is an authenticated user and output is false
dd(auth()->user()); // => User
dd(Gate::allows('view-admin-index', $company)); // => false
出力します 'ddは()'クロージャ内からは何ですか? –
私は 'Gate'クロージャー内で' dd() 'を実行したときの結果を表示するように答えを更新しました –