我正在尝试使用下面的代码对用户进行LDAP身份验证。
using (PrincipalContext context = new PrincipalContext(ContextType.Domain, ldap, "username", "password"))
{
bool success = context.ValidateCredentials(useralias, password);
}当我使用ldap作为"LDAP://z.y.org:389/我收到错误时,在PrincipalContext初始化时收到“无法联系服务器”。
如果我使用ldap作为"z.y.org:389/“,如果我使用正确的凭据,那么步骤和成功都是”真“,但是在执行IntelliTrace时,我可以看到”ValidateCredentails服务器不可用“的两个例外。如果我向该方法提供了错误的凭据,如果是false,但仍然得到"IntelliTrace“中记录的相同异常。
任何解决问题或调试正在发生的事情的指针都会受到高度赞赏。
发布于 2015-08-11 05:58:46
如果要进行身份验证,可以使用以下步骤使用PrincipalContext:
using(var context = new PrincipalContext(ContextType.Domain, "mydomain", "mydomain\serviceAcct", "serviceAcctPass"))
{
//Username and password for authentication.
return context.ValidateCredentials(username, password);
}"serviceAcct" =具有目录查找权限的域用户中的帐户。"serviceAcctPass“=该服务帐户的密码。正如我所说的,为了进行测试,您可以尝试使用您自己的用户/pass上下文。
另外,请确保所提供的用户名具有“\ username”或"username@domain“格式。
https://stackoverflow.com/questions/31933794
复制相似问题