IHttpUser::IsInRole (Método)
Devuelve un valor que indica si el usuario está autorizado para un rol con nombre.
Sintaxis
virtual HRESULT IsInRole(
IN PCWSTR pszRoleName,
OUT BOOL* pfInRole
) = 0;
Parámetros
pszRoleName
[IN] Puntero a una cadena Unicode terminada en null constante que contiene el nombre del rol.
pfInRole
[OUT] Puntero a un BOOL
objeto que indica si el usuario está autorizado para el rol especificado por pszRoleName
.
Valor devuelto
Una clase HRESULT
. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.
Value | Definición |
---|---|
S_OK | Indica que la operación se realizó correctamente. |
E_NOTIMPL | Indica que el IsInRole método no se implementó. |
Comentarios
Llame al IsInRole
método solo si el método SupportsIsInRole vuelve true
primero en el mismo puntero IHttpUser .
El IsInRole
valor devuelto depende de la implementación. Debe usar la siguiente información como guía, pero puede que no sea correcta en todos los escenarios:
Si el implementador controla la
IHttpUser
autenticación anónima, el parámetro desreferenciadopfInRole
se establecetrue
en solo si elpszRoleName
parámetro es NULL o está vacío.IsInRole
a continuación, siempre devuelve S_OK.Si el implementador controla la
IHttpUser
autenticación básica, la asignación de certificaciones, SSPI o personalizada, elpfInRole
parámetro no se modifica yIsInRole
devuelve E_NOTIMPL inmediatamente.Si el implementador controla la
IHttpUser
autenticación administrada, elpfInRole
parámetro no se modifica yIsInRole
devuelve E_INVALIDARG inmediatamente si alguno de los parámetros es NULL. De lo contrario,pfInRole
se establecetrue
en yIsInRole
devuelve S_OK solo si el usuario está en el rol.
Ejemplo
En el ejemplo de código siguiente se muestra cómo crear un módulo HTTP que borra los encabezados y el cuerpo de la respuesta y, a continuación, devuelve información de usuario al cliente como un documento XML.
El código anterior escribe XML similar al siguiente en el flujo de respuesta.
<?xml version="1.0" ?>
<user supportsRoles="true" isInRole="false" />
El módulo debe exportar la función RegisterModule . Puede exportar esta función mediante la creación de un archivo de definición de módulo (.def) para el proyecto, o bien puede compilar el módulo mediante el /EXPORT:RegisterModule
modificador . Para obtener más información, vea Tutorial: Creación de un módulo HTTP de Request-Level mediante código nativo.
Opcionalmente, puede compilar el código mediante la __stdcall (/Gz)
convención de llamada en lugar de declarar explícitamente la convención de llamada para cada función.
Requisitos
Tipo | Descripción |
---|---|
Remoto | - IIS 7.0 en Windows Vista - IIS 7.5 en Windows 7 - IIS 8.0 en Windows 8 - IIS 10.0 en Windows 10 |
Servidor | - IIS 7.0 en Windows Server 2008 - IIS 7.5 en Windows Server 2008 R2 - IIS 8.0 en Windows Server 2012 - IIS 8.5 en Windows Server 2012 R2 - IIS 10.0 en Windows Server 2016 |
Producto | - 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 |
Encabezado | Httpserv.h |