FormsAuthenticationEventHandler Delegasikan
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.
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.
FormsAuthenticationEventArgs yang berisi data peristiwa.
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. |