以下の説明は、Laravelの開発に基づいています。私は達成するために期待しています複数のユーザータイプのLaravel
機能の簡単な説明は、ユーザーの3種類があり、
です。スーパー管理者、管理者、およびエンドユーザー
スーパー管理者は1人だけ存在し、管理者とエンドユーザの両方を作成できます。複数のAdminsが存在する可能性があり、特定のサイトに対して管理者が定義されています。管理者は複数のエンドユーザを作成できます。
上記のユースケースを容易にするため、Laravelではどのようなアプローチをとるべきですか?これまでのところ、これを達成するために
私の試みは、次のとおりです。
私は、複数のガードを実装し、ユーザーのすべてのタイプによってアクセス可能である必要があり、いくつかのルートがあるので、私は立ち往生しました。複数のガードを定義した場合、そのルートは複数のユーザタイプがすべてログインしている場合にのみアクセスできます。
私はSuperadminによってルートが保護されていますこのルートはスーパー管理者としてログインしている場合にのみ使用できます。ルートは、SuperadminとAdminの両方がログインしている場合にのみ利用できます。
複数のガードを割り当てた場合、ガードはとです。しかし、私はそれらをまたはにする必要があります。
ガードの割り当て:あなたのロジックで
Route::group(['middleware' => ['auth:superadmin', 'auth:admin']], function() {...
ネストされたフォームでルートをグループ化すると、スーパー管理者ルートは、enduderとadminの両方によって保護されます。スーパー管理者のルートにアクセスするには、enduserとadminの両方にログインする必要があります。私はテストして、エンドユーザーのログインページにリダイレクトします。 –
あなたの管理者とスーパー管理者はエンドユーザでなければなりません。これはロールベースアクセスの定義です。 – anwerj
私はあなたが意味するものを得ることができません。あなたは何を意味するのかを説明するいくつかのリソースに私を案内してくれますか? –