Entrust では、このメソッドをAuthcontroller.php
protected function authenticated()
{
if(\Auth::user()->hasRole(['super_admin',]) ) {
return redirect('/dashboard');
} else if(\Auth::user()->hasRole(['staff_admin']) ) {
return redirect('/staff/dashboard');
} else if(\Auth::user()->hasRole(['subadmin_admin']) ) {
return redirect('/subadmin/dashboard');
}
}
私が今直面している課題は、たとえば。スタッフがログインしてダッシュボードにリダイレクトした場合
domain.com/staff/dashboard
しかし、彼が手動で URL からスタッフを削除し、スーパー管理者ダッシュボードにアクセスしようとすると、Entrust は 403 エラーをスローしますが、「あなたは許可されていません」というメッセージとともに、彼を彼のダッシュボードにリダイレクトしたいと考えています。
RedirectIfAuthenticated ミドルウェアで同じコードを実装しようとしましたが、Null で hasRole が呼び出されたため、エラーが発生しました。