各ロールのMembersNameプロパティをループして、それを行う方法を見つけました(IAzRoleインターフェイス、Bermoのおかげで)。ユーザー名以上のものを取得する必要がない限り、Windowsアカウントにマップし直す必要はありません。
記事で詳しく説明されているように役割を設定する:方法:ASP.NET2.0でAuthorizationManager(AzMan)を使用する
Visual Studio Projectで、AzMan COMライブラリ(azroles 1.0タイプライブラリ)への参照を追加します。次に、を追加しusing AZROLESLib;
ます。を追加<form id="form1" runat="server">
してから、Page_Loadに追加します。
AzAuthorizationStoreClass AzManStore = new AzAuthorizationStoreClass();
string connString = ConfigurationManager.ConnectionStrings["AuthorizationServices"].ConnectionString;
string path = Server.MapPath(connString.Substring("msxml://".Length));
AzManStore.Initialize(0, "msxml://" + path, null);
IAzApplication azApp = AzManStore.OpenApplication("AppName", null);
PlaceHolder p = new PlaceHolder();
StringBuilder sb = new StringBuilder();
sb.Append("<ul>");
foreach (IAzRole role in azApp.Roles)
{
sb.Append("<li>");
sb.Append(role.Name);
sb.Append("<ul>");
foreach (object member in (object[])role.MembersName)
{
sb.Append("<li>");
sb.Append(member);
sb.Append("</li>");
}
sb.Append("</ul>");
sb.Append("</li>");
}
sb.Append("</ul>");
p.Controls.Add(new LiteralControl(sb.ToString()));
form1.Controls.Add(p);
これにより、役割と各役割のメンバーのリストが表示されます。