12

ASP.NET MVC アプリケーションのコントローラーのアクションにロール認証を追加しようとしています。コードは次のようになります。

[Authorize(Roles = "SomeRoleName")]
public ActionResult Index()
{
    bool inRole = User.IsInRole("Admin");

Authorize 属性を削除し、そのコード サンプルの最後の行にブレークポイントを配置した場合、オブジェクトを調べて利用可能なロールを見つける方法はありますか?

たとえば、イミディエイト ウィンドウで User.IsInRole("Admin) を呼び出すと、真/偽の値が返されます。使用可能なロールのコレクションにアクセスするにはどうすればよいですか?

4

4 に答える 4

16

プログラムでこれを行う必要はないが、指定する必要がある正しい Windows グループ/ロールを特定しようとしている場合は、コマンド ラインからこれを使用できます。

C:\> net group /domain  (lists all Roles in the domain)
C:\> net user <username> /domain (lists info, including roles for a user)

それ以外の場合は、Active Directory の LDAP 部分を照会するか、DirectoryServices の下で何かを使用する必要があります。

C# 経由で Active Directory にアクセスするには、次の Web サイトを参照してください。

于 2009-05-28T22:22:53.307 に答える
3

System.Web.Security.Roles.Provider の RoleProvider クラスでさまざまなメソッドを使用できます。

詳細については、これを参照してください:ロール プロバイダー

于 2009-05-28T18:26:21.227 に答える