2011-07-11 6 views
3

私は現在、セキュリティのために単純な役割を使用しているvb.net winformsアプリケーションで作業しています。現在のユーザーに必要な役割がある場合に基づいて、特定のコントロールを有効または無効にします。私たちはそれがもう細かいものではないということになっています。権限ベースのセキュリティモデルを設計する

私たちのアプリケーションは、サイトと呼ばれるさまざまな物理的な場所に基づいています。あるサイトではサイトの設定を編集するなど、何かを行う権限がありますが、別のサイトではできません。したがって、現在のユーザーと現在のサイトに基づいてアクセス許可を検索する必要があります。また、特定のユーザーの権限は、自分自身に非常に限定されている可能性があります。他のユーザーの権限は他のユーザーの権限とまったく同じではありません。したがって、ロールベースではなく権限ベースのセキュリティモデルが必要です。

これらの要件を満たす新しいアクセス許可モデルを設計する最も良い方法は何ですか?コード内でのチェックを実装するのが簡単であることを確認したい(私は、100万のif文をSetUIPermissionsメソッドに振り分けたくない)、各ユーザー(400 +以上)をそれぞれ更新する必要はない新しい許可を追加するとき。この最後の要件のため、私たちは役割の考え方を保つ必要があると思いますが、特定のユーザーに対して特定のアクセス許可の例外を追加/削除する可能性があります。

アイデア?

答えて

2

あなたは適切な役割と権限を持っています。ロールを持つことは、「デフォルト」権限のセットを参照するのが比較的一般的な解決策です。ユーザーに役割と権限のセットを持たせることで、そのユーザーに対して特別に付与/取り消された権限のセットによって役割を上書きすることができます。これにより、合理的な柔軟性と細分性が得​​られ、すべてのユーザーに触れることなく新しい権限(役割)を追加することができます。

+0

これは基本的に私が設計したものです。私たちは役割の考え方を保持し、各役割が取得する権限を追加し、各ユーザー/サイトの組み合わせの役割に対して肯定的および否定的な例外があるようにします。 –

関連する問題