bool bRet=LogonUser(strUserName, L"", strPassword, LOGON32_LOGON_TYPE_NEW_CREDENTIALS, LOGON32_PROVIDER_WINNT50, &phToken)

即使在没有域的情况下输入错误的密码,bRet也始终返回true。是否有任何变通方法,例如,如果我输入有效的密码,则在没有域的情况下对于错误的密码返回true和false。

最佳答案

我认为LOGON32_LOGON_TYPE_NEW_CREDENTIALS实际上是LOGON32_LOGON_NEW_CREDENTIALS。在这种情况下,行为完全符合预期。该标志的文档说:



对于本地连接,返回的 token 是当前 token 的克隆。您提供的凭据仅用于出站连接。当您尝试进行此类连接时,将在此时检查凭据,然后可能会失败。

09-05 13:16