Метод IHttpUser::IsInRole
Возвращает значение, указывающее, авторизован ли пользователь для именованной роли.
Синтаксис
virtual HRESULT IsInRole(
IN PCWSTR pszRoleName,
OUT BOOL* pfInRole
) = 0;
Параметры
pszRoleName
[IN] Указатель на константную строку Юникода, завершающуюся null, которая содержит имя роли.
pfInRole
[OUT] Указатель на , указывающий BOOL
, авторизован ли пользователь для роли, указанной pszRoleName
.
Возвращаемое значение
Объект HRESULT
. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Значение | Определение |
---|---|
S_OK | Указывает, что операция выполнена успешно. |
E_NOTIMPL | Указывает, что IsInRole метод не был реализован. |
Комментарии
Вызывайте метод только в IsInRole
том случае, если метод SupportsIsInRole сначала возвращает тот true
же указатель IHttpUser .
Возвращаемое IsInRole
значение зависит от реализации. В качестве руководства следует использовать следующие сведения, но они могут быть неправильными во всех сценариях:
IHttpUser
Если реализующий объект обрабатывает анонимную проверку подлинности, параметру разыменованияpfInRole
присваивается значениеtrue
только в том случае, еслиpszRoleName
параметр имеет значение NULL или пуст.IsInRole
затем всегда возвращает S_OK.IHttpUser
Если реализация обрабатывает обычную проверку подлинности, сопоставление сертификации, SSPI или пользовательскую проверку подлинности,pfInRole
параметр неизменится иIsInRole
немедленно возвращает E_NOTIMPL.IHttpUser
Если реализующий объект обрабатывает управляемую проверку подлинности,pfInRole
параметр неизменяется иIsInRole
возвращает E_INVALIDARG немедленно, если любой из параметров имеет значение NULL. В противном случае имеет значениеtrue
иIsInRole
возвращает S_OK только в том случае,pfInRole
если пользователь находится в роли .
Пример
В следующем примере кода показано, как создать модуль HTTP, который очищает заголовки и текст ответа, а затем возвращает клиенту сведения о пользователе в виде XML-документа.
Приведенный выше код записывает XML-код, аналогичный приведенному ниже, в поток ответа.
<?xml version="1.0" ?>
<user supportsRoles="true" isInRole="false" />
Модуль должен экспортировать функцию 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 |
См. также:
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по