2

Windows 認証を使用して MVC4 Web アプリを作成しました。[Authorize(Roles="Admin")] AD に依存せずに、つまりデータベース テーブル内またはアプリ自体内で指定されたものを使用して、どのユーザーが何にアクセスできるかを定義することは可能ですか?

4

1 に答える 1

2

絶対。バックエンドにあるものに基づいてロールメンバーシップをチェックするカスタムロールプロバイダーを作成する必要があります。

カスタムロールプロバイダーはから派生しSystem.Web.Security.RoleProvider、少なくともGetRolesForUserandIsUserInRoleメソッドをオーバーライドする必要があります。

GetRolesForUserメソッドは、Authorize属性で使用されるメソッドです。string[]ユーザーが認証された後、属性はユーザーのSamAccountNameを使用してこのメ​​ソッドを呼び出し、ユーザーがメンバーになっているロールの名前を含むをメソッドが返すことを期待します。

詳細については、 http://msdn.microsoft.com/en-us/library/8fw7xh74 (v = vs.100).aspxを参照してください。

于 2012-10-03T22:30:27.843 に答える