DefaultAuthenticationEventHandler Delegált

Definíció

A DefaultAuthentication_OnAuthenticate eseményt kezelő metódust DefaultAuthenticationModulejelöli.

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)

Paraméterek

sender
Object

Az esemény forrása.

e
DefaultAuthenticationEventArgs

Az DefaultAuthenticationEventArgs eseményadatokat tartalmazó A.

Példák

Az alábbi példakód a DefaultAuthentication_OnAuthenticate eseményt használja annak ellenőrzésére, hogy az User aktuális HttpContext tulajdonsága.null Ha a tulajdonság az null, a minta az User aktuális HttpContext tulajdonságot egy GenericPrincipal objektumra állítja, ahol az IdentityGenericPrincipal objektum GenericIdentityName értéke "alapértelmezett".

Note

A DefaultAuthentication_OnAuthenticate esemény az AuthorizeRequest esemény előtt lesz előállítva. Ennek eredményeképpen, ha az User aktuális HttpContext tulajdonságot egyéni identitásra állítja be, az hatással lehet az alkalmazás viselkedésére. Ha például az FormsAuthentication osztályt használja, és biztosítja, hogy csak hitelesített felhasználók férhessenek hozzá a webhelyhez a szakasz használatával authorization és megadásával <deny users="?" />, ez a minta figyelmen kívül hagyja az deny elemet, mivel a felhasználó neve "alapértelmezett". Ehelyett azt szeretné megadni <deny users="default" /> , hogy csak hitelesített felhasználók férhessenek hozzá a webhelyhez.

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

Megjegyzések

A DefaultAuthenticationEventHandler meghatalmazott az osztály eseményéhez Authenticate van definiálvaDefaultAuthenticationModule. A Authenticate osztály DefaultAuthenticationModule eseményéhez egy DefaultAuthentication_OnAuthenticate nevű alrutint adhat meg a ASP.NET-alkalmazás Global.aax fájljában. Az Authenticate esemény az AuthenticateRequest esemény után jön létre, és annak biztosítására szolgál, hogy az User aktuális HttpContext tulajdonsága egy objektummal IPrincipal legyen feltöltve.

Context Az DefaultAuthenticationEventArgs eseményhez megadott objektum tulajdonságával egyéni objektumra User állíthatja HttpContext az aktuális IPrincipal tulajdonságot. Ha nem ad meg értéket a User megadott tulajdonsághoz a HttpContextDefaultAuthentication_OnAuthenticate esemény során, a DefaultAuthenticationModule tulajdonságot User egy HttpContext olyan objektumra állítjaGenericPrincipal, amely nem tartalmaz felhasználói adatokat.

A DefaultAuthentication_OnAuthenticate esemény az AuthenticateRequest esemény után és az AuthorizeRequest esemény előtt lesz előállítva. Ha olyan szakasza van authorization , amely attól függ, hogy a felhasználónév megtagadja vagy engedélyezi az alkalmazáshoz való hozzáférést, az User aktuális HttpContext tulajdonság módosítása hatással lehet az alkalmazás viselkedésére. Győződjön meg arról, hogy a DefaultAuthentication_OnAuthenticate esemény során beállított felhasználónevet figyelembe veszi a konfiguráció szakaszának authorization megadásakor.

Bővítő metódusok

Name Description
GetMethodInfo(Delegate)

Lekéri a megadott meghatalmazott által képviselt metódust képviselő objektumot.

A következőre érvényes: