AuthzInitializeContextFromSid 函式 (authz.h)
AuthzInitializeContextFromSid 函式會從使用者安全性識別碼建立使用者模式用戶端內容, (SID) 。 網域 SID 會從 Active Directory 擷取令牌群組屬性。
語法
AUTHZAPI BOOL AuthzInitializeContextFromSid(
[in] DWORD Flags,
[in] PSID UserSid,
[in, optional] AUTHZ_RESOURCE_MANAGER_HANDLE hAuthzResourceManager,
[in] PLARGE_INTEGER pExpirationTime,
[in] LUID Identifier,
[in, optional] PVOID DynamicGroupArgs,
[out] PAUTHZ_CLIENT_CONTEXT_HANDLE phAuthzClientContext
);
參數
[in] Flags
定義下列旗標。
從 Windows 8 和 Windows Server 2012 開始,當您在遠端內容句柄上呼叫此函式時,上限 16 位必須是零。
值 | 意義 |
---|---|
|
預設值。
AuthzInitializeContextFromSid 嘗試藉由執行 S4U 登入來擷取使用者的令牌群組資訊。 如果使用者的網域或呼叫計算機不支援 S4U 登入, AuthzInitializeContextFromSid 會查詢用戶帳戶物件以取得群組資訊。 直接查詢帳戶時,會省略代表登入特性的某些群組,例如網路、互動式、匿名、網路服務或本機服務。 應用程式可以藉由實作 AuthzComputeGroupsCallback 函式或呼叫 AuthzAddSidsToContext 函式來明確新增這類群組 SID。 |
|
導致 AuthzInitializeContextFromSid 略過所有群組評估。 使用此旗標時,傳回的內容只包含 UserSid 參數所指定的SID。 指定的 SID 可以是任意或應用程式特定的 SID。 實作 AuthzComputeGroupsCallback 函式或呼叫 AuthzAddSidsToContext 函式,即可將其他 SID 新增至此內容。 |
|
如果 Windows Services For User 無法擷取令牌群組資訊, AuthzInitializeContextFromSid 就會失敗。
Windowsxp: 不支援此旗標。 |
|
導致 AuthzInitializeContextFromSid 擷取新內容的許可權。 如果此函式執行 S4U 登入,它會從令牌擷取許可權。 否則,函式會從內容中的所有 SID 擷取許可權。 |
[in] UserSid
將建立客戶端內容之使用者的 SID。 除非使用AUTHZ_SKIP_TOKEN_GROUPS旗標,否則這必須是有效的使用者或計算機帳戶。
[in, optional] hAuthzResourceManager
建立此客戶端內容的 Resource Manager 句柄。 此句柄會儲存在用戶端內容結構中。
從 Windows 8 和 Windows Server 2012 開始,資源管理員可以是本機或遠端,而且可藉由呼叫 AuthzInitializeRemoteResourceManager 函式來取得。
[in] pExpirationTime
令牌的到期日期和時間。 如果未傳遞任何值,令牌永遠不會過期。 目前不會強制執行到期時間。
[in] Identifier
資源管理員的特定標識碼。 目前未使用此參數。
[in, optional] DynamicGroupArgs
要傳遞至計算動態群組之回呼函式的參數指標。 如果未將動態參數傳遞至回呼函式,這個參數可以是 NULL 。
從 Windows 8 和 Windows Server 2012 開始,如果資源管理員是遠端,此參數必須是 NULL。 否則,將會設定ERROR_NOT_SUPPORTED。
[out] phAuthzClientContext
AuthzInitializeContextFromSid 函式所建立之用戶端內容的句柄指標。 當您完成使用句柄時,請呼叫 AuthzFreeContext 函式來釋放它。
傳回值
如果函式成功,函式會傳回非零。
如果函式失敗,它會傳回零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
可能的話,請呼叫 AuthzInitializeContextFromToken 函式,而不是 AuthzInitializeContextFromSid。 AuthzInitializeContextFromSid 嘗試擷取登入令牌中可用的資訊,而客戶端實際上已登入。 實際的登入令牌提供詳細資訊,例如登入類型和登入屬性,並反映用於登入的驗證套件行為。 AuthzInitializeContextFromToken 所建立的用戶端內容會使用登入令牌,產生的用戶端內容比 AuthzInitializeContextFromSid 所建立的用戶端內容更完整且精確。
此函式只會解析有效的使用者 SID。
Windowsxp: 除非) 使用AUTHZ_SKIP_TOKEN_GROUPS旗標,否則此函式會解析有效使用者和群組 S (ID 的群組成員資格。 支援解析群組 SID 的成員資格,可能會改變或無法在後續版本中使用。
此函式會呼叫 AuthzComputeGroupsCallback 回 呼函式,以將 SID 新增至新建立的內容。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | authz.h |
程式庫 | Authz.lib |
Dll | Authz.dll |
可轉散發套件 | Windows XP 上的 Windows Server 2003 系統管理工具套件 |