IHttpUser (Interfaz)
Proporciona información específica de la solicitud sobre un usuario. Esta información incluye datos como credenciales y autorización basada en roles.
Sintaxis
class IHttpUser
Métodos
En la tabla siguiente se enumeran los métodos expuestos por la IHttpUser
interfaz .
Tema | Descripción |
---|---|
DereferenceUser | Disminuye el recuento de referencias internas del usuario. |
GetAuthenticationType | Devuelve el tipo de autenticación de solicitud. |
GetImpersonationToken | Devuelve el token de suplantación de usuario. |
GetPassword | Devuelve la contraseña de usuario. |
GetPrimaryToken | Devuelve el token de usuario principal. |
GetRemoteUserName | Devuelve el nombre de usuario remoto. |
GetUserName | Devuelve el nombre de usuario. |
GetUserVariable | Devuelve los datos de usuario personalizados por nombre. |
IsInRole | Devuelve un valor que indica si el usuario está autorizado para un rol con nombre. |
ReferenceUser | Incrementa el recuento de referencias internas del usuario. |
SupportsIsInRole | Devuelve un valor que indica si la compatibilidad con roles está habilitada para el usuario. |
Clases derivadas
Esta interfaz no contiene clases derivadas.
Comentarios
Puede recuperar un IHttpUser
puntero de un puntero IHttpContext llamando al método IHttpContext::GetUser . Para obtener acceso a estas interfaces, consulte Tutorial: Creación de un módulo HTTP de Request-Level mediante código nativo.
Ejemplo
En el ejemplo de código siguiente se muestra cómo crear un módulo HTTP que borra los encabezados de respuesta y el cuerpo 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
userName="DOMAIN\user"
remoteName=" DOMAIN\user"
passWord="[hidden]"
authType="Negotiate"
impersonationToken="valid"
primaryToken="valid"
supportsRoles="true"
isInRole="false"
userVariable="NULL" />
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 |