我必须找到一种方法如何使用公司 Active Direcotries 来登录用户,我不确定是否有某种方法可以在没有管理员凭据(匿名)的情况下进行连接 - 如果用户存在,我只需要搜索用户。
我尝试了很多解决方案,但还没有奏效。我是 AD 和 ASP.NET 的新手(但我曾经用 Java 进行编程)。
到目前为止,我使用的代码来自 MSDN 网站:
DirectoryEntry entry = new DirectoryEntry(_path);
try
{
//Bind to the native AdsObject to force authentication.
object obj = entry.NativeObject;
DirectorySearcher search = new DirectorySearcher(entry);
search.Filter = "(sAMAccountName=" + username + ")";
search.PropertiesToLoad.Add("cn");
SearchResult result = search.FindOne();
if (null == result)
{
return false;
}
//Update the new path to the user in the directory.
_path = result.Path;
_filterAttribute = (string)result.Properties["cn"][0];
}
catch (Exception ex)
{
throw new Exception("Error authenticating user. " + ex.Message);
}
return true;
路径是可变的,链接到 LDAP (LDAP:///rootDSE)
主要问题是如果我正确连接到 AD,我将无法追踪。结果以 null 结尾,但我确信我使用正确的凭据进行测试。
任何人都可以提供帮助或提供建议
非常感谢