DefaultAuthenticationEventArgs(HttpContext) Constructor

Definición

Inicializa una nueva instancia de la clase DefaultAuthenticationEventArgs.

public:
 DefaultAuthenticationEventArgs(System::Web::HttpContext ^ context);
public DefaultAuthenticationEventArgs (System.Web.HttpContext context);
new System.Web.Security.DefaultAuthenticationEventArgs : System.Web.HttpContext -> System.Web.Security.DefaultAuthenticationEventArgs
Public Sub New (context As HttpContext)

Parámetros

context
HttpContext

Contexto del evento.

Ejemplos

En el ejemplo de código siguiente se usa el evento DefaultAuthentication_OnAuthenticate para probar si la User propiedad del objeto actual HttpContext es null. Si la propiedad es null, el ejemplo establece la User propiedad del objeto actual HttpContext en un GenericPrincipal objeto donde la Identity propiedad del GenericPrincipal objeto es un GenericIdentity objeto con un Name valor de propiedad 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 está asegurándose de que solo los usuarios autenticados tienen acceso al sitio, mediante la authorization sección y especificando <deny users="?" />, hará que se omita el deny elemento de este ejemplo, 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 DefaultAuthenticationModule objeto construye un DefaultAuthenticationEventArgs objeto utilizando el objeto actual HttpContext y lo pasa al evento DefaultAuthentication_OnAuthenticate .

Puede usar la Context propiedad del DefaultAuthenticationEventArgs objeto proporcionado al evento DefaultAuthentication_OnAuthenticate para establecer la User propiedad del actual HttpContext en un objeto personalizado IPrincipal . Si no especifica un valor para la propiedad a la UserHttpContext que hace referencia la Context propiedad , establece DefaultAuthenticationModule 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 sección en la authorization configuración.

Se aplica a

Consulte también