FormsAuthenticationModule.Authenticate Kejadian
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Terjadi ketika aplikasi mengautentikasi permintaan saat ini.
public:
event System::Web::Security::FormsAuthenticationEventHandler ^ Authenticate;
public event System.Web.Security.FormsAuthenticationEventHandler Authenticate;
member this.Authenticate : System.Web.Security.FormsAuthenticationEventHandler
Public Custom Event Authenticate As FormsAuthenticationEventHandler
Jenis Acara
Contoh
Contoh kode berikut menggunakan peristiwa FormsAuthentication_OnAuthenticate untuk mengatur User properti saat ini HttpContext ke GenericPrincipal objek yang memiliki 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
Acara Authenticate dinaikkan selama AuthenticateRequest acara.
Anda dapat menangani Authenticate peristiwa FormsAuthenticationModule kelas dengan menentukan subroutine bernama FormsAuthentication_OnAuthenticate dalam file Global.asax untuk aplikasi ASP.NET Anda.
Anda dapat menggunakan properti yang FormsAuthenticationEventArgsUser 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 mode autentikasi diatur ke Forms dalam elemen Elemen autentikasi (Skema Pengaturan ASP.NET) dari file konfigurasi aplikasi dan FormsAuthenticationModule merupakan modul HTTP aktif untuk aplikasi.