【发布时间】:2010-10-30 00:15:34
【问题描述】:
经过一些更新后,我在所有 Windows Server 2003 成员服务器(仅限 x86)上看到以下问题:LogonUser 和 LogonUserEx 调用失败并出现错误 1337(安全 ID 结构无效)。
基本上,以下代码失败:
HANDLE token;
BOOL b = LogonUserA( "username", "DOMAIN", "password",
LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, &token );
我也注意到了
- 运行与本地系统相同的 LogonUser 代码可以正常工作
- 在未打补丁的 Windows Server 2003 上运行此代码很长一段时间都可以正常工作
- 最新补丁后,WS2003 x86失败,GetLastError()返回1337
- 配置“作为操作系统的一部分”权限没有帮助。代码中也没有显式启用 SE_TCB_NAME 权限。
- Runas /user:DOMAIN\username 工作正常,无论计算机是否打补丁
有人遇到过同样的问题吗? Microsoft 是否已将其识别为错误?
有解决方法吗?由于 runas 正在工作,我认为有另一种方法可以做 LogonUser 所做的事情。
【问题讨论】:
标签: windows security winapi impersonation