2

ASP.NET MVC の新機能。MVC に完全に固有ではない UI デザインのアイデアを探しています。おそらく正確な答えはありませんが、これが私が始めたことです。

3 つのタブがあるページが必要です。権限 | グループ | ユーザー

1) アクセス許可ビューでは、グリッド内のアクセス許可に対して CRUD 操作を実行できます。特定のアクセス許可の削除は、そのアクセス許可がどのグループでも使用されていない場合にのみ許可されます。

2) グループ ビューでは、グループに対する CRUD 操作がグリッドで許可されます。また、グループのアクセス許可のマッピング (追加/削除) を実行できるアクセス許可リンクも提供されます。グループの削除操作は、グループがユーザーによって使用されていない場合にのみ許可されます。

3) ユーザー ビューでは、システム内のすべての既存のユーザーが表示されます。グリッド ショーでは、ユーザー名、名または姓でユーザーを検索できます。クリックすると、ユーザーのグループをマッピング (追加/削除) できるようにするグループ リンクを各ユーザーに提供する必要があります。同じビューのこのマッピングの下に、IsGranted (true/false) で特定のアクセス許可を追加できるように、アクセス許可オーバーライドの別のセクションを提供する必要があります。

データベース設計の説明:

ここに画像の説明を入力

1) グループには権限が割り当てられます。ユーザーが属するグループに基づいて、ユーザーは権限を取得します。

2) UserPermissionOverrides は、次のシナリオを処理します - ユーザーに特定のアクセス許可を付与する必要がある場合 (ロールに関係なく)、または - ユーザーが特定のグループに属していても、特定のアクセス許可をユーザーから取り消す必要がある場合。これにより、特定のアクセス許可を追加または削除するという特別なシナリオを柔軟に処理できるようになります。

そのため、ユーザーがログインすると、1) 上記が使用されてユーザーのグループ権限が取得され、2) が実行されてオーバーライド (付与/取り消し) が取得されます。1) と 2) を組み合わせると、ユーザーの最終的なアクセス許可が得られ、これがフォーム認証 Cookie に格納されて、それ以上のデータベース ヒットが防止されます。

4

1 に答える 1

2

あなたのモデルと機能はすべて私にとって理にかなっています。ただし、インターフェイスに採用している UX の原則を再検討する必要があると思います。

  1. セキュリティ システムのユーザーが何をしようとしているのか、その訪問のためにどのような目標を達成する必要があるのか​​など、いくつかのユーザー ストーリーを書きます。

  2. UI をモデルに常に緊密に結合する必要はありません。つまり、モデルを特定の方法で構造化したからといって、それらのエンティティを CRUD 操作の基本オブジェクトとしてユーザーに提示する必要はありません。システムのユーザーが入ってきて、パーミッションを追加して去ることはおそらくほとんどありません。

上記に関して、個人的には、一連のタブではなく、ウィザードとしてユーザー権限 UI に取り組みます。

  • ステップ 1: ユーザーを選択するか、ユーザーを追加します。
  • ステップ 2: どの役割が必要か (役割を追加する機会を提供します)。
  • ステップ 3: どのグループに属しているか (必要に応じて、ここにグループを追加するように提案します)。

... または類似。

基本的に、ユーザーをできるだけ早くシステムに出入りさせることを目標にする必要があります。ユーザー ストーリーとそこから収集したウィザードを作成する行為は、システムの UX デザインに採用する方法だと思います。

幸運を!

于 2013-04-03T21:43:11.553 に答える