2

ユーザーの 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、

4

0 に答える 0