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
|
FormsAuthenticationEventHandler (Delegado)
Representa el método que controla el evento FormsAuthentication_OnAuthenticate de la clase FormsAuthenticationModule.
Ensamblado: System.Web (en System.Web.dll)
public delegate void FormsAuthenticationEventHandler( Object sender, FormsAuthenticationEventArgs e )
Parámetros
- sender
- Tipo: System.Object
Origen del evento.
- e
- Tipo: System.Web.Security.FormsAuthenticationEventArgs
Objeto FormsAuthenticationEventArgs que contiene los datos del evento.
El delegado FormsAuthenticationEventHandler se define para el evento Authenticate de la clase FormsAuthenticationModule. Se puede obtener acceso al evento Authenticate de la clase FormsAuthenticationModule especificando una subrutina denominada FormsAuthentication_OnAuthenticate en el archivo Global.asax de la aplicación ASP.NET. El evento Authenticate se genera durante el evento AuthenticateRequest.
El objeto FormsAuthenticationModule crea un objeto FormsAuthenticationEventArgs utilizando la instancia de HttpContext actual y se lo pasa al evento FormsAuthentication_OnAuthenticate.
Se puede utilizar la propiedad User del objeto FormsAuthenticationEventArgs que se proporciona al evento FormsAuthentication_OnAuthenticate para establecer la propiedad User del objeto HttpContext actual en un objeto IPrincipal personalizado. Si no se especifica un valor para la propiedad User durante el evento FormsAuthentication_OnAuthenticate, se utiliza la identidad proporcionada por el vale de autenticación de formularios en la cookie o en la dirección URL.
El evento FormsAuthentication_OnAuthenticate sólo se provoca cuando la propiedad Mode de autenticación se establece en Forms y FormsAuthenticationModule es un módulo HTTP activo de la aplicación.
En el ejemplo de código siguiente se utiliza el evento FormsAuthentication_OnAuthenticate para establecer la propiedad User del objeto HttpContext actual en un objeto GenericPrincipal con una identidad Identity personalizada.
public void FormsAuthentication_OnAuthenticate(object sender, FormsAuthenticationEventArgs args) { if (FormsAuthentication.CookiesSupported) { if (Request.Cookies[FormsAuthentication.FormsCookieName] != null) { try { FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt( Request.Cookies[FormsAuthentication.FormsCookieName].Value); args.User = new System.Security.Principal.GenericPrincipal( new Samples.AspNet.Security.MyFormsIdentity(ticket), new string[0]); } catch (Exception e) { // Decrypt method failed. } } } else { throw new HttpException("Cookieless Forms Authentication is not " + "supported for this application."); } }
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.