DefaultAuthenticationEventArgs(HttpContext) Constructor
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.