DefaultAuthenticationEventArgs(HttpContext) Costruttore

Definizione

Inizializza una nuova istanza della classe 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)

Parametri

context
HttpContext

Contesto dell'evento.

Esempio

Nell'esempio di codice seguente viene utilizzato 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 la Identity proprietà dell'oggetto GenericPrincipal è un GenericIdentity oggetto con un Name valore della proprietà "default".

Nota

L'evento DefaultAuthentication_OnAuthenticate viene generato prima dell'eventoAuthorizeRequest. 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="?" />, l'elemento deny in questo esempio verrà ignorato, in quanto l'utente avrà un nome, ovvero "impostazione predefinita". È 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

L'oggetto DefaultAuthenticationModule costruisce un DefaultAuthenticationEventArgs oggetto utilizzando l'oggetto corrente HttpContext e lo passa all'evento DefaultAuthentication_OnAuthenticate .

È 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 User proprietà dell'oggetto HttpContext a cui fa riferimento la Context proprietà , la DefaultAuthenticationModule proprietà dell'oggetto HttpContext viene impostata User su un GenericPrincipal oggetto che non contiene informazioni sull'utente.

L'evento DefaultAuthentication_OnAuthenticate viene generato dopo l'evento AuthenticateRequest e prima dell'eventoAuthorizeRequest. Se si dispone di una authorization sezione che dipende dal nome utente da negare o consentire l'accesso all'applicazione, la User modifica 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.

Si applica a

Vedi anche