DefaultAuthenticationEventArgs(HttpContext) Costruttore
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.