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 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.