gpt4 book ai didi

c++ - 当计算机不在域中时,LogonUser() 不对无效域的用户进行身份验证

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:27:34 25 4
gpt4 key购买 nike

我在使用 C++ 中的 LogonUser() API 函数时遇到一些问题。我正在测试的计算机不在域中。我正在测试的帐户存在于计算机上,但当我提供无效域时,它会验证登录。

这对我来说似乎不对。

HANDLE token;

if (!LogonUser("LocalUser", "InvalidDomain", "Password",
LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, &token))
{
unsigned long error = GetLastError();
}

这是正确的行为吗?

最佳答案

我认为工作组成员不支持域登录,因此忽略了域参数。这解释了您所看到的。

你可以确认这一点。尝试使用真实域用户进行身份验证(确保没有同名的本地帐户)。登录应该会失败。

有一个异常(exception)。如果您使用 LOGON32_LOGON_NEW_CREDENTIALS标志(修改现有登录而不是创建新登录),那么域登录将始终成功,因为在您尝试访问远程资源之前它不会通过身份验证。

关于c++ - 当计算机不在域中时,LogonUser() 不对无效域的用户进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21451417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com