Bagikan melalui


DefaultAuthenticationEventArgs(HttpContext) Konstruktor

Definisi

Menginisialisasi instans baru kelas DefaultAuthenticationEventArgs.

public:
 DefaultAuthenticationEventArgs(System::Web::HttpContext ^ context);
public DefaultAuthenticationEventArgs (System.Web.HttpContext context);
new System.Web.Security.DefaultAuthenticationEventArgs : System.Web.HttpContext -> System.Web.Security.DefaultAuthenticationEventArgs
Public Sub New (context As HttpContext)

Parameter

context
HttpContext

Konteks untuk peristiwa tersebut.

Contoh

Contoh kode berikut menggunakan peristiwa DefaultAuthentication_OnAuthenticate untuk menguji apakah User properti saat ini HttpContext adalah null. Jika properti adalah null, contohnya mengatur User properti saat ini HttpContext ke GenericPrincipal objek di mana Identity properti GenericPrincipal objek adalah GenericIdentity objek dengan Name nilai properti "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 yang diautentikasi yang memiliki akses ke situs Anda, dengan menggunakan authorization bagian dan menentukan <deny users="?" />, Anda akan menyebabkan deny elemen dalam contoh ini 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

Objek DefaultAuthenticationModule membuat DefaultAuthenticationEventArgs objek menggunakan saat ini HttpContext dan meneruskannya ke peristiwa DefaultAuthentication_OnAuthenticate .

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 dari properti yang dirujuk HttpContext oleh Context properti , DefaultAuthenticationModule mengatur User properti dari HttpContext ke GenericPrincipal 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.

Berlaku untuk

Lihat juga