gpt4 book ai didi

c# - 如何使用 C# 从用户名中获取存储在 Active Directory 中的真实姓名?

转载 作者:行者123 更新时间:2023-11-30 15:13:06 25 4
gpt4 key购买 nike

我想创建一个快速应用程序,供人们根据一组凭据解析存储在 Active Directory 中的用户名。某些应用程序仅提供用户 ID,期望最终用户启动 Active Directory 用户和组 MMC 管理单元的做法太过分了。

如果存储在 AD 中,输入将类似于“MYCORP\a_user”,输出将是“Dave Smith”。

我希望它能够在我的测试域和多林环境中运行。

有人可以提供执行此操作的示例吗?从 AD 中检索其他属性(如电话号码)是否遵循相同的模式?

目标平台:.NET 2.0 及以上版本。

最佳答案

这是我使用的代码,取 self 的身份验证类:

string[] strUserName = username.Split("\\".ToCharArray());
using (var entry = new DirectoryEntry("LDAP://" + ADServer, ADServiceDomain + "\\" + ADServiceAccount, ADServicePassword))
using (var ds = new DirectorySearcher(entry, "sAMAccountName=" + strUserName[1])) {
ds.SearchScope = SearchScope.Subtree;
SearchResult result = ds.FindOne();
string fullname = result.Properties["displayName"][0].ToString();
}

System.DirectoryServices 糟透了。如您所见,即使是最基本的事情也需要大量的代码。我希望看到一种不需要使用异常进行流量控制的用户身份验证方法。

关于c# - 如何使用 C# 从用户名中获取存储在 Active Directory 中的真实姓名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/407314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com