当下次登录策略的更改密码处于活动状态时,Active Directory PrincipalContext.ValidateCredentials

Ana*_*nni 7 c# authentication active-directory windows-authentication principalcontext

我正在使用System.DirectoryServices.AccountManagement 命名空间中的类来从我的Web应用程序与Active Directory进行交互.要针对Active Directory验证用户凭据,请使用以下代码行.

bool authSucceeded=principalContext.ValidateCredentials(userName, password);
Run Code Online (Sandbox Code Playgroud)

其中principalContext是PrincipalContext实例.当用户使用提供的凭据进行身份验证时,authSucceeded为true.但是,当下次登录策略的"更改密码"处于活动状态时,此方法将失败.对于这些用户,即使使用密码'Abcd_10'创建它们也未经过身份验证.

任何人都知道我如何在这种状态下验证用户,以便我可以将他重定向到更改密码屏幕?我已经为所有其他任务完成了代码.但只有这件事遗失了.

我只需要知道原因

principalContext.ValidateCredentials
Run Code Online (Sandbox Code Playgroud)

方法返回false,如由于密码错误/用户名无效/用户被停用或我的要求(他是否通过密码更改验证)

如有任何想法,请分享..