Поделиться через


Интерфейс IHttpUser

Предоставляет сведения о пользователе, относящиеся к запросу. Эти сведения включают такие данные, как учетные данные и авторизация на основе ролей.

Синтаксис

class IHttpUser  

Методы

В следующей таблице перечислены методы, предоставляемые интерфейсом IHttpUser .

Раздел Описание
DereferenceUser Уменьшает количество внутренних ссылок пользователя.
GetAuthenticationType Возвращает тип проверки подлинности запроса.
GetImpersonationToken Возвращает маркер олицетворения пользователя.
GetPassword Возвращает пароль пользователя.
GetPrimaryToken Возвращает основной маркер пользователя.
GetRemoteUserName Возвращает имя удаленного пользователя.
GetUserName Возвращает имя пользователя.
GetUserVariable Возвращает пользовательские данные по имени.
Isinrole Возвращает значение, указывающее, авторизован ли пользователь для именованной роли.
ReferenceUser Увеличивает число внутренних ссылок пользователя.
SupportsIsInRole Возвращает значение, указывающее, включена ли поддержка ролей для пользователя.

Производные классы

Этот интерфейс не содержит производных классов.

Комментарии

Вы можете получить IHttpUser указатель из указателя IHttpContext , вызвав метод IHttpContext::GetUser . Чтобы получить доступ к этим интерфейсам, см. пошаговое руководство. Создание Request-Level HTTP-модуля с помощью машинного кода.

Пример

В следующем примере кода показано, как создать модуль HTTP, который очищает заголовки и текст ответа, а затем возвращает клиенту сведения о пользователе в виде XML-документа.

Приведенный выше код записывает XML-код, аналогичный приведенному ниже, в поток ответа.

<?xml version="1.0" ?>  
<user   
    userName="DOMAIN\user"   
    remoteName=" DOMAIN\user"   
    passWord="[hidden]"   
    authType="Negotiate"   
    impersonationToken="valid"   
    primaryToken="valid"   
    supportsRoles="true"   
    isInRole="false"   
    userVariable="NULL" />  

Модуль должен экспортировать функцию RegisterModule . Эту функцию можно экспортировать, создав файл определения модуля (DEF) для проекта, или скомпилировать модуль с помощью /EXPORT:RegisterModule параметра . Дополнительные сведения см. в разделе Пошаговое руководство. Создание модуля HTTP Request-Level с помощью машинного кода.

При необходимости можно компилировать код с помощью соглашения о __stdcall (/Gz) вызовах вместо явного объявления соглашения о вызовах для каждой функции.

Требования

Тип Описание
клиент — IIS 7.0 в Windows Vista
— IIS 7.5 в Windows 7
— IIS 8.0 в Windows 8
— IIS 10.0 в Windows 10
Сервер — IIS 7.0 в Windows Server 2008
— IIS 7.5 в Windows Server 2008 R2
— IIS 8.0 в Windows Server 2012
— IIS 8.5 в Windows Server 2012 R2
— IIS 10.0 в Windows Server 2016
Продукт — IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0
— IIS Express 7.5, IIS Express 8.0, IIS Express 10.0
Заголовок Httpserv.h

См. также:

Основные интерфейсы веб-сервера