首页 > 解决方案 > 获取 AD 用户 Visual Studio Web App 与控制台

问题描述

我在下面有以下代码。

我通过 RDP 从我的家用笔记本电脑连接到另一台运行 VPN 的笔记本电脑,所以我认为可能就是这样。我尝试以管理员身份运行 Visual Studio,以管理员身份运行已编译的 exe,指定域的 /runas 等,但命令行应用程序将不显示任何内容,而 asp.net 核心应用程序显示列表。所以它必须是它运行的用户。

但是当我在这两种情况下运行 WindowsIdentity.GetCurrent().Name 时,它​​会给出相同的域和名称(我)。在任务管理器中,devenv 和 iis 进程是我。

        public List<AdSecurityGroupDTO> GetAllDomainSecurityGroups(string domain)
    {
        List<AdSecurityGroupDTO> result = new List<AdSecurityGroupDTO>();
        using (var ctx = new PrincipalContext(ContextType.Domain, domain))
        {
            GroupPrincipal findAllGroups = new GroupPrincipal(ctx, " * ");
            PrincipalSearcher ps = new PrincipalSearcher(findAllGroups);
            foreach (Principal group in ps.FindAll())
            {
                AdSecurityGroupDTO adSecurityGroupDTO = new();
                adSecurityGroupDTO.Name = group.Name;
                adSecurityGroupDTO.Description = group.Description;
                adSecurityGroupDTO.DisplayName = group.DisplayName;
                adSecurityGroupDTO.DistinguishedName = group.DistinguishedName;
                adSecurityGroupDTO.SamAccountName = group.SamAccountName;
                result.Add(adSecurityGroupDTO);
            }                
            return result;
        }
    }

标签: asp.net-coreactive-directory

解决方案


推荐阅读