DefaultAuthenticationEventHandler 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 DefaultAuthentication_OnAuthenticate dari DefaultAuthenticationModule.
public delegate void DefaultAuthenticationEventHandler(System::Object ^ sender, DefaultAuthenticationEventArgs ^ e);
public delegate void DefaultAuthenticationEventHandler(object sender, DefaultAuthenticationEventArgs e);
type DefaultAuthenticationEventHandler = delegate of obj * DefaultAuthenticationEventArgs -> unit
Public Delegate Sub DefaultAuthenticationEventHandler(sender As Object, e As DefaultAuthenticationEventArgs)
Parameter
- sender
- Object
Sumber dari peristiwa tersebut.
DefaultAuthenticationEventArgs yang berisi data peristiwa.
Contoh
Contoh kode berikut menggunakan peristiwa DefaultAuthentication_OnAuthenticate untuk menguji apakah User properti saat ini HttpContext adalah null
. Jika properti adalah null
, sampel mengatur User properti saat ini HttpContext ke GenericPrincipal objek, di mana IdentityGenericPrincipal objek adalah GenericIdentity dengan Name nilai "default".
Catatan
Peristiwa DefaultAuthentication_OnAuthenticate dinaikkan sebelum AuthorizeRequest acara. Akibatnya, jika Anda mengatur User properti saat ini HttpContext ke identitas kustom, itu dapat memengaruhi perilaku aplikasi Anda. Misalnya, jika Anda menggunakan FormsAuthentication kelas dan Anda memastikan bahwa hanya pengguna terautentikasi yang memiliki akses ke situs Anda, dengan menggunakan authorization
bagian dan menentukan <deny users="?" />
, sampel ini akan menyebabkan deny
elemen diabaikan, karena pengguna akan memiliki nama, yang "default". Sebagai gantinya, Anda akan menentukan <deny users="default" />
untuk memastikan bahwa hanya pengguna terautentikasi yang dapat mengakses situs Anda.
public void DefaultAuthentication_OnAuthenticate(object sender,
DefaultAuthenticationEventArgs args)
{
if (args.Context.User == null)
args.Context.User =
new System.Security.Principal.GenericPrincipal(
new System.Security.Principal.GenericIdentity("default"),
new String[0]);
}
Public Sub DefaultAuthentication_OnAuthenticate(sender As Object, _
args As DefaultAuthenticationEventArgs)
If args.Context.User Is Nothing Then
args.Context.User = _
new System.Security.Principal.GenericPrincipal( _
new System.Security.Principal.GenericIdentity("default"), _
new String(0) {})
End If
End Sub
Keterangan
DefaultAuthenticationEventHandler Delegasi didefinisikan untuk Authenticate peristiwa DefaultAuthenticationModule kelas. Anda dapat mengakses Authenticate peristiwa DefaultAuthenticationModule kelas dengan menentukan sub-rutin bernama DefaultAuthentication_OnAuthenticate dalam file Global.asax untuk aplikasi ASP.NET Anda. Peristiwa Authenticate dimunculkan setelah AuthenticateRequest peristiwa dan digunakan untuk memastikan bahwa User properti saat ini HttpContext diisi dengan IPrincipal objek .
Anda dapat menggunakan Context properti objek yang DefaultAuthenticationEventArgs disediakan ke peristiwa DefaultAuthentication_OnAuthenticate untuk mengatur User properti saat ini HttpContext ke objek kustom IPrincipal . Jika Anda tidak menentukan nilai untuk User properti yang HttpContext disediakan selama peristiwa DefaultAuthentication_OnAuthenticate , DefaultAuthenticationModule mengatur User properti ke HttpContextGenericPrincipal objek yang tidak berisi informasi pengguna.
Peristiwa DefaultAuthentication_OnAuthenticate dimunculkan setelah AuthenticateRequest acara dan sebelum AuthorizeRequest acara. Jika Anda memiliki authorization
bagian yang bergantung pada nama pengguna untuk menolak atau mengizinkan akses ke aplikasi Anda, memodifikasi User properti saat ini HttpContext dapat memengaruhi perilaku aplikasi Anda. Pastikan bahwa nama pengguna yang Anda tetapkan selama peristiwa DefaultAuthentication_OnAuthenticate dipertimbangkan saat Anda menentukan bagian authorization
dalam konfigurasi Anda.
Metode Ekstensi
GetMethodInfo(Delegate) |
Mendapatkan objek yang mewakili metode yang diwakili oleh delegasi yang ditentukan. |