Condividi tramite


FormsAuthenticationEventHandler Delegato

Definizione

Rappresenta il metodo che gestisce l'evento FormsAuthentication_OnAuthenticate di una classe FormsAuthenticationModule.

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

Parametri

sender
Object

Origine dell'evento.

e
FormsAuthenticationEventArgs

Oggetto FormsAuthenticationEventArgs che contiene i dati dell'evento.

Esempio

Nell'esempio di codice seguente viene utilizzato l'evento FormsAuthentication_OnAuthenticate per impostare la User proprietà dell'oggetto corrente HttpContext su un GenericPrincipal oggetto con un oggetto personalizzato Identity.

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.");
  }
}
Public Sub FormsAuthentication_OnAuthenticate(sender As Object, _
                                              args As FormsAuthenticationEventArgs)
  If FormsAuthentication.CookiesSupported Then
    If Not Request.Cookies(FormsAuthentication.FormsCookieName) Is Nothing Then
      Try
        Dim ticket As FormsAuthenticationTicket = FormsAuthentication.Decrypt( _
          Request.Cookies(FormsAuthentication.FormsCookieName).Value)
        
        args.User = New System.Security.Principal.GenericPrincipal( _
          New Samples.AspNet.Security.MyFormsIdentity(ticket), _
          New String(0) {})
      Catch e As HttpException
        ' Decrypt method failed.
      End Try
    End If
  Else
      Throw New Exception("Cookieless Forms Authentication is not " & _
                            "supported for this application.")
  End If
End Sub

Commenti

Il FormsAuthenticationEventHandler delegato viene definito per l'evento Authenticate della FormsAuthenticationModule classe . È possibile accedere all'evento Authenticate della FormsAuthenticationModule classe specificando una subroutine denominata FormsAuthentication_OnAuthenticate nel file Global.asax per l'applicazione ASP.NET. L'evento Authenticate viene generato durante l'evento AuthenticateRequest .

Costruisce FormsAuthenticationModule un FormsAuthenticationEventArgs oggetto utilizzando l'oggetto corrente HttpContext e lo passa all'evento FormsAuthentication_OnAuthenticate .

È possibile utilizzare la User proprietà dell'oggetto fornito all'evento FormsAuthenticationEventArgsFormsAuthentication_OnAuthenticate per impostare la User proprietà dell'oggetto corrente HttpContext su un oggetto personalizzato IPrincipal . Se non si specifica un valore per la User proprietà durante l'evento FormsAuthentication_OnAuthenticate , viene utilizzata l'identità fornita dal ticket di autenticazione dei moduli nel cookie o nell'URL.

L'evento FormsAuthentication_OnAuthenticate viene generato solo quando l'autenticazione Mode è impostata su Forms e è FormsAuthenticationModule un modulo HTTP attivo per l'applicazione.

Metodi di estensione

GetMethodInfo(Delegate)

Ottiene un oggetto che rappresenta il metodo rappresentato dal delegato specificato.

Si applica a

Vedi anche