Windows 認証を使用して MVC4 Web アプリを作成しました。[Authorize(Roles="Admin")] AD に依存せずに、つまりデータベース テーブル内またはアプリ自体内で指定されたものを使用して、どのユーザーが何にアクセスできるかを定義することは可能ですか?
質問する
631 次
1 に答える
2
絶対。バックエンドにあるものに基づいてロールメンバーシップをチェックするカスタムロールプロバイダーを作成する必要があります。
カスタムロールプロバイダーはから派生しSystem.Web.Security.RoleProvider
、少なくともGetRolesForUser
andIsUserInRole
メソッドをオーバーライドする必要があります。
GetRolesForUser
メソッドは、Authorize
属性で使用されるメソッドです。string[]
ユーザーが認証された後、属性はユーザーのSamAccountNameを使用してこのメソッドを呼び出し、ユーザーがメンバーになっているロールの名前を含むをメソッドが返すことを期待します。
詳細については、 http://msdn.microsoft.com/en-us/library/8fw7xh74 (v = vs.100).aspxを参照してください。
于 2012-10-03T22:30:27.843 に答える