PrincipalContext.ValidateCredentials对于空白密码返回true的内容
本文关键字:返回 密码 true 空白 ValidateCredentials 于空白 PrincipalContext | 更新日期: 2023-09-27 18:24:13
我们的应用程序有一个登录框,要求用户输入他们的AD凭据。我们拿到这些证书,然后打电话给
using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, domain, container, ContextOptions.SimpleBind))
{
return pc.ValidateCredentials(domain + @"'" + username, password, ContextOptions.SimpleBind);
}
以验证他们是否输入了有效的登录名/密码对。然而,我们发现,对ValidateCredentials的调用将返回true,密码为空,我们不知道为什么。无效密码返回false,但只要用户名正确,blank就会返回true。
来自MSDNhttp://msdn.microsoft.com/en-us/library/bb154889.aspx
ValidateCredentials方法绑定到构造函数中指定的服务器。如果用户名和密码参数为null,则验证构造函数中指定的凭据。如果在构造函数中未指定凭据,并且用户名和密码参数为null,则此方法将验证当前主体的默认凭据。
在PrincipalContext构造函数中,您也可以指定要检查的凭据。
using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, domain,
container, ContextOptions.SimpleBind, username, password))
{
return pc.ValidateCredentials(domain + @"'" + username, password,
ContextOptions.SimpleBind);
}