2011-10-17 48 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的代碼示例(它似乎可能會有一些訪客帳戶問題)