c# - 我可以在不知道 Active Directory (AD) 中 OU 的情况下通过某些属性获取特定用户吗?

标签 c# .net active-directory ldap

我需要让特定用户只知道“sAMAAccountName”字段。

问题是,这个特定用户可以位于多个组中:

OU=ThirdParty
    OU=Company1
        CN=User1   
        CN=User2 
        CN=User3 
    OU=Company2
        CN=User1 
        CN=User2 
        CN=User3 

有没有办法让用户不知道他们的组,只使用他们拥有的一个属性?

我的代码:

DirectorySearcher search = new DirectorySearcher(_path);
search.Filter = "(&(objectCategory=person)(objectClass=User))";
StringBuilder groupNames = new StringBuilder();
try
{
    SearchResultCollection result = search.FindAll();
    .....
}

谢谢!

编辑:

好的,我使用此代码得到了它:

DirectorySearcher search = new DirectorySearcher(_entry, "(sAMAccountName=" + userCode + ")");

最佳答案

您需要了解用户的哪些信息?我们过去曾使用此类代码来检索有关用户的信息

using (var identity = new WindowsIdentity(username))
{
    var user = new WindowsPrincipal(identity);

    if (user.IsInRole("Some Role Name"))
        return true;

    return false;
}

编辑 在您发表评论后,我想知道这篇文章是否能为您提供进一步的现场信息。他们显示正在获取您请求的字段,我只是不确定检索员工的代码是否适用于您,因为它引用了 InfoPath:http://msdn.microsoft.com/en-us/library/bb952744(v=office.12).aspx

关于c# - 我可以在不知道 Active Directory (AD) 中 OU 的情况下通过某些属性获取特定用户吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9419987/

相关文章:

c# - 如何拥有与 OnPropertyChanged 一起使用的 UserControl 的可绑定(bind)属性

没有 Blazor 的 C# WASM

c# - 使用 Serilog 写入结构化日志

php - 使用 PHP LDAP 更改(而不是重置)用户密码

wpf - 通过成员资格提供程序在断开连接的WPF应用程序中验证和获取Active Directory用户的角色

C++。只有在 AD 中授权的用户才能启动该程序

c# - 如何从 .net Core 3.1 dll (WPF) 访问调度程序

c# - 如何在不克隆的情况下列出远程存储库中的文件?

c# - XML 尽可能高效地查找特定元素

c# - 可以在编译时评估 C# 自定义属性吗?