Laravel Spatieの権限設定方法を設定して、ロールに基づいて各ユーザーの権限のセットを定義するにはどうすればよいですか?
P粉197639753
P粉197639753 2023-11-14 12:58:58
0
1
880

私のシステムを使用しているユーザーのタイプは 4 つあります: 1.スーパー管理者、2.スーパー管理者チーム、3.管理者、および 4。 管理チームメンバー、 spatie を使用してロールとアクセス許可を処理するため、すべてのタイプのユーザーに共通のモジュール (アクセス許可) のセットと、支払い方法などのスーパー管理者専用のモジュール (アクセス許可) の別のセットがあります。 さて、データベースをシードして許可を得たら、すべてを一度にシードする必要がありますか? ['contacts','email','bids'] にはネットワーク シールドが付属しているため (ただし、シールドの正確な使用法とその仕組みについては少し混乱しています)、管理者はこれらからのみアクセスできます。許可されたアクセス許可 チームにアクセス許可を割り当てます。ただし、SuperAdmin の場合、SuperAdminGuard を使用して他のアクセス許可セットを作成する必要がありますか?何がベストプラクティスなのか知りたいです。 使用例: スーパー管理者 まずシステムにログインし、リストから管理者にどの権限を付与するかを決定します。 2. 管理者はシステムにログインし、どの権限セットを自分のチームに付与するかを割り当てますが、管理者はスーパー管理者が持つ権限のリストを表示することはできません。 私の主張を明確にできたと思いますが、それを実装する適切な方法を教えてください。

P粉197639753
P粉197639753

全員に返信(1)
P粉736935587

ユーザーというモデルを使用し、ユーザーに権限を直接割り当てていると思います。これが私のアプローチです。つまり、最初にロールを作成し、そのロールに適切なアクセス許可を付与してから、そのロールをユーザーに割り当てることができます。

まず、ロールに権限を割り当てます

リーリー

次に、ロールをユーザーと同期します

リーリー

これらは、app/Http/Kernel.php に記述できる組み込みの spatie ミドルウェアです。

リーリー

ルーティングで「ロール」ミドルウェアを使用して保護できるようになりました。

リーリー

それでは、特定の役割 (スーパー管理者または管理者) の権限を取得する必要があります。あなたにできることは次のとおりです、

リーリー

さらに、この方法でユーザー ロールを取得することもできます

リーリー

もう 1 つ 、スーパー管理者の場合、ロールから権限を取得する必要はなく、すべての権限を直接取得できます。スーパー管理者はシステム全体にアクセスできるため、これを行うことでスーパー管理者の権限チェックをバイパスできます。 リーリー

お役に立てば幸いです:)

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート