我需要验证用户输入是否更正了当前会话窗口。因此我使用下面的代码:
private void LoginUser(string username, string password)
{
bool isCredentialValid = false;
using (PrincipalContext context = new PrincipalContext(ContextType.Domain))
{
isCredentialValid = context.ValidateCredentials(username, password);
}
if (isCredentialValid)
{
//
}
else
{
//
}
}
我总是将ValidateCredentials
结果弄错的问题。
Rq :我正在使用.Net 4.5框架
答案 0 :(得分:3)
来自MSDN http://msdn.microsoft.com/en-us/library/bb154889.aspx
ValidateCredentials方法绑定到中指定的服务器 构造函数。如果用户名和密码参数为null,则为 验证构造函数中指定的凭据。如果不 凭证在构造函数中指定,用户名和 password参数为null,此方法验证默认值 当前校长的证书。
在PrincipalContext构造函数中,您也可以指定要检查的凭据。
using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, domain,
container, ContextOptions.SimpleBind, username, password))
{
return pc.ValidateCredentials(domain + @"\" + username, password,
ContextOptions.SimpleBind);
}
试试这个。