Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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
IHttpUserautenticación anónima, el parámetro desreferenciadopfInRolese establecetrueen solo si elpszRoleNameparámetro es NULL o está vacío.IsInRolea continuación, siempre devuelve S_OK.Si el implementador controla la
IHttpUserautenticación básica, la asignación de certificaciones, SSPI o personalizada, elpfInRoleparámetro no se modifica yIsInRoledevuelve E_NOTIMPL inmediatamente.Si el implementador controla la
IHttpUserautenticación administrada, elpfInRoleparámetro no se modifica yIsInRoledevuelve E_INVALIDARG inmediatamente si alguno de los parámetros es NULL. De lo contrario,pfInRolese establecetrueen yIsInRoledevuelve 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 |