ASP.NET Core 2 Windows身份验证/ AD获取组成员

时间:2018-05-18 11:28:31

标签: c# active-directory asp.net-core-2.0 windows-authentication directoryservices

就像标题所说,我需要从我的Active目录中获取组的成员。 代码:

    using(var p_con = new PrincipalContext(ContextType.Machine))
    {
        var grps = GroupPrincipal.FindByIdentity(p_con, IdentityType.Sid, "S-1-5-21-205523278-2745993604-4001200492-1027");
        var users = grps.GetMembers();
    }

但是我的代码在'grps'var的Membersproperty中引发了以下错误。

  

Members ='grps.Members'抛出了类型异常   'System.TypeLoadException'

如果我以另一种方式尝试,搜索成员的组,我会得到同样的错误。

    using (var p_con = new PrincipalContext(ContextType.Machine))
    {
        var up = new UserPrincipal(p_con);
        using (var search = new PrincipalSearcher(up))
        {
            foreach (var user in search.FindAll())
            {
                var _grp = user.GetGroups();
            }
        }
    }

除了Users \ Groups之外,它自己的组/用户已正确加载。

我在设置中遗漏了什么?

我使用的是ASP.NET Core 2和当前的Windows.Compatibility Pack(包括DirectoryServices的当前版本)。 身份验证通过Http.sys运行

0 个答案:

没有答案