Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

DefaultAuthenticationModule (Clase)

Garantiza que un objeto de autenticación está presente en el contexto. Esta clase no puede heredarse.

System.Object
  System.Web.Security.DefaultAuthenticationModule

Espacio de nombres:  System.Web.Security
Ensamblado:  System.Web (en System.Web.dll)
public sealed class DefaultAuthenticationModule : IHttpModule

El tipo DefaultAuthenticationModule expone los siguientes miembros.

  Nombre Descripción
Método público DefaultAuthenticationModule Inicializa una nueva instancia de la clase DefaultAuthenticationModule.
Arriba
  Nombre Descripción
Método público Dispose Libera todos los recursos que DefaultAuthenticationModule utiliza, excepto la memoria.
Método público Equals(Object) Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegido Finalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método público GetHashCode Actúa como función hash para un tipo concreto. (Se hereda de Object).
Método público GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método público Init Inicializa el objeto DefaultAuthenticationModule.
Método protegido MemberwiseClone Crea una copia superficial del objeto Object actual. (Se hereda de Object).
Método público ToString Devuelve una cadena que representa el objeto actual. (Se hereda de Object).
Arriba
  Nombre Descripción
Evento público Authenticate Aparece después de que se ha autenticado la solicitud.
Arriba

DefaultAuthenticationModule garantiza que la propiedad User de la instancia de HttpContext actual se establece en un objeto IPrincipal para cada solicitud. DefaultAuthenticationModule examina la propiedad User después del evento AuthenticateRequest y antes del evento AuthorizeRequest. Si la propiedad User es null, DefaultAuthenticationModule establece la propiedad User en un objeto GenericPrincipal que no contiene ninguna información sobre el usuario.

Si el módulo de autenticación establece la propiedad StatusCode en 401, DefaultAuthenticationModule representará una página de error de acceso denegado. Si el valor de la propiedad StatusCode se establece en un valor mayor que 200, el objeto DefaultAuthenticationModule terminará la solicitud. En ese caso, sólo se llama a los módulos HTTP que se suscriben al evento EndRequest antes de la realización de la solicitud actual.

DefaultAuthenticationModule expone un evento Authenticate. Puede utilizar este evento para proporcionar un objeto IPrincipal personalizado para la propiedad User de la instancia de HttpContext actual. Se obtiene acceso al evento Authenticate especificando un evento denominado DefaultAuthentication_OnAuthenticate en el archivo Global.asax de la aplicación.

El ejemplo de código siguiente utiliza el evento DefaultAuthentication_OnAuthenticate para probar si la propiedad User de la instancia de HttpContext actual es null. Si la propiedad User es null, el ejemplo establece la propiedad User de la instancia de HttpContext actual en un objeto GenericPrincipal; la propiedad Identity del objeto GenericPrincipal es un objeto GenericIdentity con el valor "default" como Name.

Nota Nota

El evento DefaultAuthentication_OnAuthenticate tiene lugar antes que el evento AuthorizeRequest. Como resultado, si establece la propiedad User de la instancia de HttpContext actual en una identidad personalizada, puede afectar al comportamiento de la aplicación. Por ejemplo, si utiliza la clase FormsAuthentication y especifica <deny users="?" /> en la sección de configuración authorization para garantizar que sólo los usuarios autenticados tengan acceso al sitio, este ejemplo hará que se pase por alto el elemento deny, ya que el usuario tendrá un nombre que es "predeterminado". En su lugar especificaría <deny users="default" /> para garantizar que sólo los usuarios autenticados pueden tener acceso al sitio.


public void DefaultAuthentication_OnAuthenticate(object sender,
                                                 DefaultAuthenticationEventArgs args)
{
  if (args.Context.User == null)
    args.Context.User = 
      new System.Security.Principal.GenericPrincipal(
        new System.Security.Principal.GenericIdentity("default"),
        new String[0]);
}


.NET Framework

Compatible con: 4, 3.5, 3.0, 2.0, 1.1, 1.0

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
¿Le ha resultado útil?
(Caracteres restantes: 1500)
Contenido de la comunidad Agregar