1

我已经尝试使用How to get email address with window authentication,但仍然存在一个问题:

我知道如何询问 John Smith 的电子邮件地址,但我得到的身份验证名称类似于 INTRA\\JohnSmith3 或 DEP21\\JohnSmith

如何将 INTRA\\JohnSmith3 或 DEP21\\JohnSmith 映射到 AD 中的正确 John Smith?

4

1 回答 1

1

您从 Windows 身份验证中获得的是 SAM 帐户名称。您需要在 Active Directory 中查找此内容。

您可以像这样查询 Active Directory 中的用户:

(&(objectCategory=person)(objectClass=user)(sAMAccountName=JohnSmith3))

在代码中:

string filter = "(&(objectCategory=person)"
     + "(objectClass=user)"
     + "(sAMAccountName=" + samAccountName + "))";
DirectorySearcher search = new DirectorySearcher(myLdapConnection);
search.Filter = filter;
SearchResult result = search.FindOne();
DirectoryEntry de = result.GetDirectoryEntry();
于 2013-11-08T08:39:56.763 回答