Метод IAzApplication::InitializeClientContextFromName (azroles.h)

Метод InitializeClientContextFromName получает указатель на объект IAzClientContext из удостоверения клиента в виде пары (доменное имя, имя клиента).

Примечание По возможности вызовите функцию InitializeClientContextFromToken вместо InitializeClientContextFromName. Дополнительные сведения см. в подразделе "Примечания".

 

Синтаксис

HRESULT InitializeClientContextFromName(
  [in]           BSTR             ClientName,
  [in, optional] BSTR             DomainName,
  [in, optional] VARIANT          varReserved,
  [out]          IAzClientContext **ppClientContext
);

Параметры

[in] ClientName

Имя субъекта безопасности.

[in, optional] DomainName

Доменное имя, в котором находится учетная запись пользователя. Значение по умолчанию — NULL.

[in, optional] varReserved

Зарезервировано для последующего использования. Этот параметр может иметь одно из следующих значений:

  • varReserved.vt == VT_ERROR и varReserved.scode == DISP_E_PARAMNOTFOUND
  • varReserved.vt == VT_EMPTY
  • varReserved.vt == VT_NULL
  • varReserved.vt == VT_I4 и varReserved.lVal == 0
  • varReserved.vt == VT_I2 и varReserved.iVal == 0

[out] ppClientContext

Указатель на указатель на возвращенный объект IAzClientContext .

Возвращаемое значение

Если функция завершается успешно, функция возвращает S_OK.

Если функция завершается сбоем, она возвращает значение HRESULT , указывающее на ошибку. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.

Комментарии

По возможности вызовите функцию InitializeClientContextFromToken вместо InitializeClientContextFromName. InitializeClientContextFromName пытается получить сведения, доступные в маркере входа, если клиент фактически вошел в систему. Фактический маркер входа предоставляет дополнительные сведения, такие как тип входа и свойства входа, а также отражает поведение пакета проверки подлинности, используемого для входа. В контексте клиента, созданном методом InitializeClientContextFromToken , используется маркер входа, и полученный контекст клиента является более полным и точным, чем контекст клиента , созданный методом InitializeClientContextFromName.

Параметры DomainName и ClientName должны объединяться для представления SidTypeUser.

Поддерживаемые форматы имен совпадают с форматами, поддерживаемыми функцией LookupAccountName .

Важно Приложения не должны предполагать, что вызывающий контекст имеет разрешение на использование этой функции. Функция AuthzInitializeContextFromSid считывает атрибут tokenGroupsGlobalAndUniversal идентификатора безопасности, указанного в вызове , для определения членства текущего пользователя в группах. Если объект пользователя находится в Active Directory, вызывающий контекст должен иметь доступ на чтение к атрибуту tokenGroupsGlobalAndUniversal объекта пользователя. Доступ на чтение к атрибуту tokenGroupsGlobalAndUniversal предоставляется группе доступа, совместимой с Windows 2000 , но новые домены содержат пустую группу доступа, совместимую с Windows 2000 , по умолчанию, так как по умолчанию выбран параметр "Разрешения", совместимый с Windows 2000 и Windows Server 2003. Поэтому приложения могут не иметь доступа к атрибуту tokenGroupsGlobalAndUniversal; в этом случае функция AuthzInitializeContextFromSid завершается сбоем с ACCESS_DENIED. Приложения, использующие эту функцию, должны правильно обрабатывать эту ошибку и предоставлять вспомогательную документацию. Чтобы упростить предоставление учетным записям разрешения на запрос сведений о группе пользователя, добавьте учетные записи, которым требуется возможность поиска сведений о группе, в группу доступа авторизации Windows.
 
Приложения, вызывающие эту функцию, должны использовать полное доменное имя или имя участника-пользователя (UPN). В противном случае этот метод может завершиться ошибкой в лесах, если используется доменное имя NetBIOS и два домена не имеют прямого отношения доверия.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header azroles.h
Библиотека Azroles.lib
DLL Azroles.dll
Распространяемые компоненты Пакет средств администрирования Windows Server 2003 в Windows XP

См. также раздел

Разрешение анонимного доступа

IAzApplication