【问题标题】:LogonUser returns true for a wrong passwordLogonUser 为错误的密码返回 true
【发布时间】:2016-05-22 04:32:33
【问题描述】:
bool bRet=LogonUser(strUserName, L"", strPassword, LOGON32_LOGON_TYPE_NEW_CREDENTIALS, LOGON32_PROVIDER_WINNT50, &phToken)     

即使在没有域的情况下我输入了错误的密码,bRet 也总是返回 true。是否有任何解决方法,例如如果我输入有效密码,当没有域时,它会为错误的密码返回 true 和 false。

【问题讨论】:

  • 是的,它是一个有效的令牌。

标签: c++ winapi login impersonation


【解决方案1】:

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

此登录类型允许调用者克隆其当前令牌并为出站连接指定新凭据。新的登录会话具有相同的本地标识符,但对其他网络连接使用不同的凭据。

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

【讨论】:

    猜你喜欢
    • 2020-04-02
    • 1970-01-01
    • 2013-07-21
    • 1970-01-01
    • 1970-01-01
    • 2013-06-24
    • 2015-06-15
    • 1970-01-01
    • 2017-01-19
    相关资源
    最近更新 更多