相关疑难解决方法(0)

为什么Active Directory验证最后一个密码?

我正在研究一种在Active Directory中更新用户密码的简单解决方案.

我可以成功更新用户密码.更新密码工作正常.假设用户已将密码从MyPass1更新为MyPass2

现在,当我运行自定义代码以验证用户凭据时使用:

using(PrincipalContext pc = new PrincipalContext(ContextType.Domain, "TheDomain"))
{
    // validate the credentials
    bool isValid = pc.ValidateCredentials("myuser", "MyPass2");
}

//returns true - which is good
Run Code Online (Sandbox Code Playgroud)

现在,当我输入一些错误的密码时,它会很好地验证:

using(PrincipalContext pc = new PrincipalContext(ContextType.Domain, "TheDomain"))
{
    // validate the credentials
    bool isValid = pc.ValidateCredentials("myuser", "wrongPass");
}

//returns false - which is good
Run Code Online (Sandbox Code Playgroud)

现在由于一些奇怪的原因,它验证了以前的最后一个密码是MyPass1还记得吗?

using(PrincipalContext pc = new PrincipalContext(ContextType.Domain, "TheDomain"))
{
    // validate the credentials
    bool isValid = pc.ValidateCredentials("myuser", "MyPass1");
}

//returns true - but why? we have updated password to …
Run Code Online (Sandbox Code Playgroud)

c# active-directory

33
推荐指数
2
解决办法
1万
查看次数

标签 统计

active-directory ×1

c# ×1