パーミッションデザインにおいて、ツリー状の機能リストとページボタンのパーミッションを区別する方法、およびパーミッションに従ってページボタンを表示するかどうかを決定する方法

問題の説明

高齢者が適切で最適なデザインのアイデアと経験を持っていますか、それらを共有してください、ありがとう

解決

ツリー関数は通常の関数と同じです。関数権限制御を実行します。ロールは複数の汎用モジュールに対応し、クエリ時に現在のユーザーのロールが取得され、現在のロールが所有する関数のみがツリーにアセンブルされます。ツリーが生成されるときのボタン。権限は類似しています。追加:追加、変更:編集など、関数内のボタンに一律に名前を付けることができます。関数内のすべてのボタンは、この命名規則に従います。ボタン権限ではコントロールでは、最初に役割を選択し、次に対応する機能を選択してから、対応するボタンの権限を構成します。表示するときに、現在の役割に現在のボタンの権限があるかどうかを判断します。持っている場合は表示します。ボタンは対応するラベルにカプセル化できるため、多くのことを節約できます。
解決策2:
メニュー名、ボタン名、ページ名、メソッド名などのリソース。pidとservice_viewがメインキーとして組み合わされ、複数のリソースを1つのコードにコンパイルできることを示します(ボタンの権限など、多くの場合、対応するページ、メソッドなど。多くのアクセス許可では、これらの関連するアクセス許可をコードにエンコードできるため、すべてまたはまったく付与しない場合)表2アクセス許可リソーステーブルテーブル名:tbl_perm_res(アクセス許可リソース)カテゴリ(テーブル)フィールド名フィールドエイリアスデータタイププライマリキー許可空/表示デフォルト値説明pidパーミッションコードvarchar(50)YN / Nparent_id上位パーミッションコードvarchar(50)タイプパーミッションカテゴリchar(1)N / N1、トップメニュー、2、メニューとページ、3 、ボタン説明説明varchar(50)Y / N備考:①。権限が割り当てられているページにリソースツリーの形式で権限を表示および付与するように、すべてのリソースの上下関係を特別に設定します。通常、システムの左側にあるメニューから開始します。トップメニューはリソースツリーのトップノードであり、サブメニューはかつてはサブリソースでした。ページ、ページボタン、リクエストパス、メソッドはすべて、特定のモジュール...②、pid、parent_idはすべて事前にテーブルtbl_res_mapのリソースをコーディングしています。表3ユーザー権限テーブル名:tbl_auth(ユーザー権限)カテゴリ(テーブル)フィールド名フィールドエイリアスデータタイププライマリキー許可空/表示デフォルト値の説明uidaccount / role varchar(50)YN / NutypeカテゴリcharYN / N1、user、2、role pidパーミッション番号varchar(50)YN / N備考:pidテーブル4のpidソースtbl_perm_resロールテーブルテーブル名:tbl_role (ロール)カテゴリ(テーブル)フィールド名フィールドエイリアスデータタイププライマリキーは空にすることができます/デフォルト値を表示します説明role_idロール番号varchar(50)YN / Nrole_nameロール名varchar(50)N / Y備考表5ユーザーロールマッピングテーブルテーブル名:tbl_user_role(ユーザーロールマッピングテーブル)カテゴリ(テーブル)フィールド名、フィールドエイリアス、データタイプ、プライマリキー、空にすることを許可/デフォルト値を表示説明role_idロール番号varchar(50)YN / Nuser_idユーザー番号varchar( 50)YN / N備考表6ユーザーテーブルテーブル名:tbl_user(ユーザー)
解決策3:
権限の制御は非常に複雑です。これを分析するには、明確な心を使用してください。通常、サーブレットや構造体などの比較的単純な権限設定では、フィルターまたはインターセプターを使用して特定のファイルへのアクセスを制御できます。ただし、要件に応じて、機能リストとボタンを制御する必要があるため、もう少し検討する必要があります。あなたの権限はURL接続の制御に基づくことはできませんが、メソッドの制御に目を向ける必要があります:一般的な典拠コントロール、4つの制御メソッドがありますC(reate)R(etrieve)U(pdate)D(elete)つまり、通常、アクションタイプには、作成、クエリ、更新、削除など、いくつかの細かい要素操作があります。最後に、コントロールはこれらのポイントとして要約されます。データベースにテーブルを追加して、特定のアクションのCRUD操作権限をコントロールします。1.ボタンを制御する場合cssを介して表示制御できます2. jsまたはcssを使用するために関数リストを使用することはお勧めしませんが、バックグラウンドjsonを介してツリーを作成することをお勧めします。
解決策4:
この権限は非常に詳細です。ツリーのノードとページボタンはすべて、管理するリソースとして扱われます。

おすすめ

転載: blog.csdn.net/h610443955/article/details/81774184