バックグラウンド権限の設計アイデアを募集しています
管理権限は個々のユーザーに割り当てられており、統一されたユーザー グループはありません。
権限はノード、つまり各操作に割り当てられます。
このようなデザインの作り方。
良いアイデアやデモを持っているヒーローがいるかどうかわかりません
-----解決策------ --
バックグラウンドはモジュールに分かれており、各モジュールには追加、削除、変更、確認の権限があります。ただし、ユーザー グループがない場合は、各ユーザーに詳細な権限しか割り当てることができません。権限を比較しやすいように権限レベルを設定します。
------解決策---------
ユーザーテーブルに権限フィールドを追加するだけです
------解決策---------
------解決策----------------------ユーザー グループや権限のグループ化がまったくありません。またはレベル、
最初に特定の権限ノードがいくつあるかを見積もる必要があります。
数が多い場合、将来の管理が非常に複雑になります。
------解決策---------まず、キャラクターが必要です。ロールはいくつかの操作権限を付与します。許可テーブルもあります。許可テーブルの許可値は整数で保存され、各ビットが操作許可を表します。これにより、グローバル権限を柔軟に割り当てることができます。
------解決策---------時計だけを手に入れることもできます。
ユーザー権限を直接保存します
------解決策---------ユーザー権限に対応するテーブルを作成する
------解決策----------------------配列形式を使用してバックグラウンド権限を実行できます。配列内の関数呼び出しのメソッド名、
------解決策---------ThinkPHP の RBAC 権限制御を参照できます。
------解決策------教えてください
1.テーブル リソース (つまり、パーミッション リソース。パーミッション制御を必要とする各アクションはリソースであり、リソースは一般に URL によって区別されます)
2. ユーザー テーブルを設計します (これについてはあまり説明しません)
3.ユーザーとリソースの関係
ユーザーは複数のリソースを持つことができ、リソースも複数のユーザーを使用できるため、これは典型的な m2m 関係です。その関係を維持するために 3 番目のテーブルを設計する必要があるため、user_resource テーブルが存在します。
4. 権限を確認します
リクエストが受信されると、URL を解析し、対応するリソースを見つけて、user_resource テーブルを検索して、ユーザーがこのリソースに対する権限を持っているかどうかを確認します。次にわかること
ユーザー グループを追加する場合、これは非常に簡単です。
1. ユーザーグループテーブルロールの設計
2. user_role の設計 (ユーザーとユーザーグループも m2m 関係です)
3. role_resource の設計 (ユーザーグループとリソースも m2m 関係です)
4 .ユーザーグループの権限の判断については、理解する必要があります。
------解決策---------パーミッションツリーの比較は簡単に行えます。