我在使用活动目录设置身份验证时遇到了困难 .
我在 ldap://server-1
有一个LDAP服务器,域名是 "DC=company,DC=com"
在this answer之后,我尝试设置如下方案:
using(PrincipalContext pc = new PrincipalContext(ContextType.Domain, "ldap://server-1", "DC=company,DC=com"))
{
// validate the credentials
bool isValid = pc.ValidateCredentials("myuser", "mypassword");
}
但我一直收到错误 The server could not be contacted / The LDAP server is unavailable
. 我对LDAP协议了解很多,所以不要设置正确的东西 .
我知道LDAP可用,因为我从cmd行 dsquery DC=company,DC=com
获得结果 - 类型查询 .
1 回答
我会尝试这个 - 使用服务器名称和
dc=
字符串作为您的服务器名称 - 并保留"starting point"(同时:确保在LDAP://
前缀上使用 ALL UPPERCASE - 这是 crucial !):那样有用吗?
Update: 阅读我自己对你再次链接的问题的答案,你需要提供这个:一个 domain name (只是一个字符串;可以
NULL
表示"default"域)到第二个参数,并且可选地 container DN 到第三个参数 - 所以试试这个: