【发布时间】:2008-12-08 19:44:36
【问题描述】:
我使用控制台应用程序编写了一些测试代码:
/// <summary>
/// Returns AD information for a specified userID.
/// </summary>
/// <param name="ntID"></param>
/// <returns></returns>
public ADUser GetUser(string ntID)
{
DirectorySearcher search = new DirectorySearcher();
search.Filter = String.Format("(cn={0})", ntID);
search.PropertiesToLoad.Add("mail");
search.PropertiesToLoad.Add("givenName");
search.PropertiesToLoad.Add("sn");
search.PropertiesToLoad.Add("displayName");
search.PropertiesToLoad.Add("userPrincipalName");
search.PropertiesToLoad.Add("cn");
SearchResult result = search.FindOne();
return new ADUser(result);
}
这在控制台应用程序中运行良好。但是,当我将其移至 ASP.NET 应用程序时,我收到一条关于不知道正确域的错误消息。
在 ASPNET 帐户上运行时访问 AD 是否缺少技巧?
编辑:仅传递 LDAP://domain 连接字符串是不够的,因为它需要一个实际的登录名/密码。因为它在机器上的本地帐户上运行,所以我不确定要使用什么 AD L/P。我可以以某种方式将访问用户帐户委托给它吗?
编辑 #2:当尝试使用身份模拟时,我收到了 DirectoryServicesCOMException:
身份验证机制未知。
【问题讨论】:
标签: asp.net active-directory credentials