DefaultAuthenticationEventHandler Delegado

Definición

Representa el método que controla el evento DefaultAuthentication_OnAuthenticate de un DefaultAuthenticationModule.

public delegate void DefaultAuthenticationEventHandler(System::Object ^ sender, DefaultAuthenticationEventArgs ^ e);
public delegate void DefaultAuthenticationEventHandler(object sender, DefaultAuthenticationEventArgs e);
type DefaultAuthenticationEventHandler = delegate of obj * DefaultAuthenticationEventArgs -> unit
Public Delegate Sub DefaultAuthenticationEventHandler(sender As Object, e As DefaultAuthenticationEventArgs)

Parámetros

sender
Object

Origen del evento.

e
DefaultAuthenticationEventArgs

Objeto DefaultAuthenticationEventArgs que contiene los datos del evento.

Ejemplos

En el ejemplo de código siguiente se usa el evento DefaultAuthentication_OnAuthenticate para probar si la User propiedad del actual HttpContext es null. Si la propiedad es null, el ejemplo establece la User propiedad del objeto actual HttpContext en un GenericPrincipal objeto, donde el Identity del GenericPrincipal objeto es un GenericIdentity con un Name valor de "default".

Nota

El evento DefaultAuthentication_OnAuthenticate se genera antes del AuthorizeRequest evento . Como resultado, si establece la User propiedad del actual HttpContext en una identidad personalizada, puede afectar al comportamiento de la aplicación. Por ejemplo, si usa la FormsAuthentication clase y garantiza que solo los usuarios autenticados tengan acceso al sitio, mediante la authorization sección y especificando <deny users="?" />, este ejemplo hará que se omita el deny elemento, ya que el usuario tendrá un nombre, que es "predeterminado". En su lugar, debe especificar <deny users="default" /> para asegurarse de que solo los usuarios autenticados puedan acceder 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]);
}
Public Sub DefaultAuthentication_OnAuthenticate(sender As Object, _
                                                args As DefaultAuthenticationEventArgs)
  If args.Context.User Is Nothing Then
    args.Context.User = _
      new System.Security.Principal.GenericPrincipal( _
        new System.Security.Principal.GenericIdentity("default"), _
        new String(0) {})
  End If
End Sub

Comentarios

El DefaultAuthenticationEventHandler delegado se define para el Authenticate evento de la DefaultAuthenticationModule clase . Para acceder al Authenticate evento de la DefaultAuthenticationModule clase, especifique una subrutina denominada DefaultAuthentication_OnAuthenticate en el archivo Global.asax para la aplicación de ASP.NET. El Authenticate evento se genera después del AuthenticateRequest evento y se usa para asegurarse de que la User propiedad del actual HttpContext se rellena con un IPrincipal objeto .

Puede usar la Context propiedad del DefaultAuthenticationEventArgs objeto proporcionado al evento DefaultAuthentication_OnAuthenticate para establecer la User propiedad del objeto actual HttpContext en un objeto personalizado IPrincipal . Si no especifica un valor para la User propiedad del HttpContext proporcionado durante el evento de DefaultAuthentication_OnAuthenticate , DefaultAuthenticationModule establece la User propiedad de en HttpContext un GenericPrincipal objeto que no contiene información de usuario.

El evento DefaultAuthentication_OnAuthenticate se genera después del AuthenticateRequest evento y antes del AuthorizeRequest evento. Si tiene una authorization sección que depende del nombre de usuario para denegar o permitir el acceso a la aplicación, modificar la User propiedad del actual HttpContext puede afectar al comportamiento de la aplicación. Asegúrese de que el nombre de usuario que estableció durante el evento DefaultAuthentication_OnAuthenticate se tiene en cuenta al especificar la authorization sección de la configuración.

Métodos de extensión

GetMethodInfo(Delegate)

Obtiene un objeto que representa el método representado por el delegado especificado.

Se aplica a