2011-10-17 49 views

回答

0

我不知道是否有一个列表,因为安全系统可以用自定义的“插件”部分的任何地方(Authentication PackagesSecurity Support Provider Interface/Security packagesGINA/Credential Providers),他们可能有其他的要求。

在默认系统中,它可能是这样的:

  • 传递给LogonUser的该名称的用户帐户需要的登录类型(LOGON32_LOGON_ *)匹配的SE_*_LOGON_NAME帐户权限和登录需要通过LSA和/或域控制器要求(登录时间,密码未过期等)
  • 调用LogonUser的过程需要SE_CHANGE_NOTIFY_NAME(每个人都有这个默认设置),也许SE_TCB_NAME(在Win2000上是必需的)。如果你要调用CreateProcessAsUser在返回的标记还需要SE_INCREASE_QUOTA_NAME,也许SE_ASSIGNPRIMARYTOKEN_NAME ...

如果你只是想启动一个进程作为另一个用户,你可能想使用CreateProcessWithLogonW,如果你只是想验证凭据this KB article有一个不使用LogonUser的代码示例(它似乎可能会有一些访客帐户问题)