DefaultAuthenticationEventHandler Delegato

Definizione

Rappresenta il metodo che consente di gestire l'evento DefaultAuthentication_OnAuthenticate di una classe 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)

Parametri

sender
Object

Origine dell'evento.

e
DefaultAuthenticationEventArgs

Oggetto DefaultAuthenticationEventArgs che contiene i dati dell'evento.

Esempio

Nell'esempio di codice seguente viene usato l'evento DefaultAuthentication_OnAuthenticate per verificare se la User proprietà dell'oggetto corrente HttpContext è null. Se la proprietà è null, l'esempio imposta la User proprietà dell'oggetto corrente HttpContext su un GenericPrincipal oggetto, in cui l'oggetto IdentityGenericPrincipal è un GenericIdentity con valore Name "default".

Nota

L'evento DefaultAuthentication_OnAuthenticate viene generato prima dell'evento AuthorizeRequest . Di conseguenza, se si imposta la User proprietà dell'oggetto corrente HttpContext su un'identità personalizzata, può influire sul comportamento dell'applicazione. Ad esempio, se si usa la FormsAuthentication classe e si garantisce che solo gli utenti autenticati abbiano accesso al sito, usando la authorization sezione e specificando <deny users="?" />, questo esempio causerà che l'elemento deny venga ignorato, poiché l'utente avrà un nome, ovvero "default". È invece necessario specificare <deny users="default" /> per assicurarsi che solo gli utenti autenticati possano accedere al sito.

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

Commenti

Il DefaultAuthenticationEventHandler delegato è definito per l'evento Authenticate della DefaultAuthenticationModule classe. È possibile accedere all'evento Authenticate della DefaultAuthenticationModule classe specificando una subroutine denominata DefaultAuthentication_OnAuthenticate nel file Global.asax per l'applicazione ASP.NET. L'evento Authenticate viene generato dopo l'evento e viene usato per assicurarsi che la User proprietà dell'oggetto AuthenticateRequest corrente HttpContext venga popolata con un IPrincipal oggetto.

È possibile utilizzare la Context proprietà dell'oggetto fornito all'evento DefaultAuthenticationEventArgsDefaultAuthentication_OnAuthenticate per impostare la User proprietà dell'oggetto corrente HttpContext su un oggetto personalizzato IPrincipal . Se non si specifica un valore per la proprietà dell'oggetto HttpContext fornito durante l'evento UserDefaultAuthentication_OnAuthenticate, la DefaultAuthenticationModuleUser proprietà dell'oggetto HttpContext viene impostata su un GenericPrincipal oggetto che non contiene informazioni utente.

L'evento DefaultAuthentication_OnAuthenticate viene generato dopo l'evento e prima dell'evento AuthenticateRequestAuthorizeRequest . Se si dispone di una authorization sezione che dipende dal nome utente da negare o consentire l'accesso all'applicazione, la modifica User della proprietà dell'oggetto corrente HttpContext può influire sul comportamento dell'applicazione. Assicurarsi che il nome utente impostato durante l'evento DefaultAuthentication_OnAuthenticate venga considerato quando si specifica la authorization sezione nella configurazione.

Metodi di estensione

GetMethodInfo(Delegate)

Ottiene un oggetto che rappresenta il metodo rappresentato dal delegato specificato.

Si applica a