ログインしている特定のタイプ(leader
)のユーザーに、コントローラが扱うすべてのページへのアクセス権を与えたいと考えています。 docsでは、まだログインしていないすべてのユーザーをリダイレクトするコンストラクタ内に$this->middleware('Auth')
を使用できることがわかりました。しかし、ユーザーがgateで許可されているかどうかをチェックする代わりに、ユーザーがログインしているかどうかをチェックする代わりに、これを行う方法を見つけられませんでした。 AuthServiceProvider
でLaravel Authorization:例外の代わりにリダイレクトしますか?
私はこの作品leader
ているユーザーについては、次のコンストラクタ
public function __construct()
{
$this->middleware('auth');
$this->middleware('can:isLeader');
}
を持つコントローラ内部で、次の門
Gate::define('isLeader', function ($user) {
return $user->isLeader();
});
を作成しました。しかし、このコントローラを介してページにアクセスする際leader
が、私はエラーメッセージが表示さThis action is unauthorized.
を取得していないユーザーのために:彼がいない場合、私はむしろhome
にユーザーをリダイレクトします
代わりのエラーメッセージを投げますleader
。どのように私はこれを達成することができますか?