Интерфейс 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 |