ユーザーの Active Directory グループを列挙すると、次のエラーが表示されます
System.Web.HttpUnhandledException (0x80004005): 'System.Web.HttpUnhandledException' 型の例外がスローされました。---> System.ArgumentOutOfRangeException: インデックスが範囲外でした。負ではなく、コレクションのサイズより小さくなければなりません。
これが私のコードです:
internal static void admincheck(string username)
{
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "EDIT");
using (UserPrincipal user = UserPrincipal.FindByIdentity(ctx, username))
{
System.DirectoryServices.AccountManagement.PrincipalSearchResult<Principal> groupList = user.GetGroups();
foreach (GroupPrincipal @group in groupList)
{
if (@group.Name == "students") { System.Web.HttpContext.Current.Response.Redirect("no_access.aspx"); }
}
}
}
何か案は?ありがとう
完全なスタック トレース:
System.Web.HttpUnhandledException (0x80004005): 'System.Web.HttpUnhandledException' 型の例外がスローされました。---> System.ArgumentOutOfRangeException: インデックスが範囲外でした。負ではなく、コレクションのサイズより小さくなければなりません。パラメーター名: System.DirectoryServices.AccountManagement.ADDNLinkedAttrSet.MoveNextMemberSearcher() の System.DirectoryServices.AccountManagement.ADDNLinkedAttrSet.MoveNext の System.Collections.ArrayList.get_Item (Int32 インデックス) の System.DirectoryServices.ResultPropertyValueCollection.get_Item (Int32 インデックス) のインデックス() System.DirectoryServices.AccountManagement.FindResultEnumerator`1.MoveNext() で TechnicalToolkit.toolkit.admincheck(String username) で System.Web.UI.Control.LoadRecursive() で System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint、