Функция AuthzInitializeContextFromSid (authz.h)
Функция AuthzInitializeContextFromSid создает контекст клиента в пользовательском режиме из идентификатора безопасности пользователя (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 запрашивает у объекта учетной записи пользователя сведения о группе. При запросе учетной записи напрямую некоторые группы, представляющие характеристики входа, такие как Network, Interactive, Anonymous, Network Service или Local Service, опущены. Приложения могут явно добавлять такие идентификаторы безопасности группы, реализуя функцию AuthzComputeGroupsCallback или вызывая функцию AuthzAddSidsToContext . |
|
Заставляет AuthzInitializeContextFromSid пропускать все оценки группы. При использовании этого флага возвращаемый контекст содержит только идентификатор безопасности, указанный параметром UserSid . Указанный идентификатор безопасности может быть произвольным идентификатором безопасности или идентификатором безопасности для конкретного приложения. Другие идентификаторы безопасности можно добавить в этот контекст, реализовав функцию AuthzComputeGroupsCallback или вызвав функцию AuthzAddSidsToContext . |
|
Вызывает сбой AuthzInitializeContextFromSid , если службы Windows для пользователя недоступны для получения сведений о группе маркеров.
Windows XP: Этот флаг не поддерживается. |
|
Заставляет AuthzInitializeContextFromSid получать привилегии для нового контекста. Если эта функция выполняет вход S4U, она получает привилегии из маркера. В противном случае функция получает привилегии из всех идентификаторов безопасности в контексте. |
[in] UserSid
Идентификатор безопасности пользователя, для которого будет создан контекст клиента. Это должна быть допустимая учетная запись пользователя или компьютера, если не используется флаг AUTHZ_SKIP_TOKEN_GROUPS.
[in, optional] hAuthzResourceManager
Дескриптор для диспетчера ресурсов, создающий этот контекст клиента. Этот дескриптор хранится в структуре контекста клиента.
Начиная с 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.
Эта функция разрешает только допустимые идентификаторы безопасности пользователя.
Windows XP: Эта функция разрешает членство в группах для допустимых идентификаторов безопасности пользователей и групп (если не используется флаг AUTHZ_SKIP_TOKEN_GROUPS). Поддержка разрешения членства идентификаторов безопасности групп может быть изменена или недоступна в последующих версиях.
Эта функция вызывает функцию обратного вызова AuthzComputeGroupsCallback для добавления идентификаторов безопасности в только что созданный контекст.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | authz.h |
Библиотека | Authz.lib |
DLL | Authz.dll |
Распространяемые компоненты | Пакет средств администрирования Windows Server 2003 в Windows XP |