0

私のMVC3 アプリケーションでは、マネージャー、システム管理者、編集者などASP.NET メンバーシップの役割があります。Web サイトにWindows 認証を 使用しており、次の例のように、ネットワーク内のユーザーをメンバーシップに追加しています。

http://weblogs.asp.net/scottgu/pages/Recipe_3A00_-Implementing-Role_2D00_Based-Security-with-ASP.NET-2.0-using-Windows-Authentication-and-SQL-Server.aspx

しかし、私の問題は、複数の権限が必要な人がいるということです。例えば

User-Johnは Department-ABC のマネージャーであり、Department-ABC のすべてのアクションを表示できます。 User-JohnDepartment-XYZ の編集者でもあり、Department-XYZの編集者のすべてのアクションを表示できるはずです。ただし、マネージャーのアクションではありません彼は Department-XYZ のマネージャーではないためです。

ユーザー Mathew は部門 XYZ のマネージャーであり、部門 ABC の編集者です。

通常のロール権限を使用すると、User-John が両方の部門のマネージャーになることができますが、これは正しくありません。

私の解決策は、DepartmentID、UserID、および RoleID を SQL データベースの別のテーブルに格納し、このテーブルに従って許可することです。

C# および SQL で ASP.NET メンバーシップからロール ID を取得するにはどうすればよいですか?

それは安全ですか?より良い解決策はありますか?

4

1 に答える 1