Condividi tramite


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 per l'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".

Annotazioni

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="?" />, l'elemento deny in questo esempio verrà ignorato, in quanto l'utente avrà un nome, che è "predefinito". È 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 dalla Context proprietà , la UserDefaultAuthenticationModule proprietà di HttpContext imposta su un GenericPrincipal oggetto che non contiene informazioni sull'utente.

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

Si applica a

Vedi anche