当用户没有密码时,验证计算机用户凭据失败

时间:2018-02-06 10:59:41

标签: c# .net windows userprincipal

我试图在本地Windows计算机上验证用户名及其密码。

bool AreUserCredentialsValid(string username, string password)
{
    try
    {
        using(var context = new PrincipalContext(ContextType.Machine))
        {
            return context.ValidateCredentials(username, password); 
        }
    }
    catch
    {
        return false;
    }
}

这适用于大多数情况。在一种情况下,我收到以下错误消息。

  

由于帐户限制,用户无法登录。可能的原因是不允许使用空白密码,登录时间限制或策略。

仅当我以用户A身份登录并尝试验证用户A的凭据时,才会显示此消息。如果我以用户B身份登录并尝试验证用户A的凭据,则按预期工作。

我可以使用以下cmd行重现此行为。

runas /user:A notepad

如何在不更改系统设置或用户的情况下验证本地用户的凭据?由于用户能够登录,因此应该可以。

0 个答案:

没有答案