Bagikan melalui


FormsAuthenticationEventHandler Delegasikan

Definisi

Mewakili metode yang menangani peristiwa FormsAuthentication_OnAuthenticate dari 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)

Parameter

sender
Object

Sumber dari peristiwa tersebut.

Contoh

Contoh kode berikut menggunakan peristiwa FormsAuthentication_OnAuthenticate untuk mengatur User properti saat ini HttpContext ke GenericPrincipal objek dengan kustom 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

Keterangan

FormsAuthenticationEventHandler Delegasi didefinisikan untuk Authenticate peristiwa FormsAuthenticationModule kelas. Anda dapat mengakses Authenticate peristiwa FormsAuthenticationModule kelas dengan menentukan sub-rutin bernama FormsAuthentication_OnAuthenticate dalam file Global.asax untuk aplikasi ASP.NET Anda. Acara Authenticate dinaikkan selama AuthenticateRequest acara.

Membuat FormsAuthenticationModuleFormsAuthenticationEventArgs objek menggunakan saat ini HttpContext dan meneruskannya ke peristiwa FormsAuthentication_OnAuthenticate .

Anda dapat menggunakan User properti objek yang FormsAuthenticationEventArgs disediakan ke peristiwa FormsAuthentication_OnAuthenticate untuk mengatur User properti saat ini HttpContext ke objek kustom IPrincipal . Jika Anda tidak menentukan nilai untuk User properti selama peristiwa FormsAuthentication_OnAuthenticate , identitas yang disediakan oleh tiket autentikasi formulir di cookie atau URL akan digunakan.

Peristiwa FormsAuthentication_OnAuthenticate hanya dinaikkan ketika autentikasi Mode diatur ke Forms dan FormsAuthenticationModule merupakan modul HTTP aktif untuk aplikasi.

Metode Ekstensi

GetMethodInfo(Delegate)

Mendapatkan objek yang mewakili metode yang diwakili oleh delegasi yang ditentukan.

Berlaku untuk

Lihat juga