DefaultAuthenticationModule.Authenticate Evento
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.
Viene generato dopo che la richiesta è stata autenticata.
public:
event System::Web::Security::DefaultAuthenticationEventHandler ^ Authenticate;
public event System.Web.Security.DefaultAuthenticationEventHandler Authenticate;
member this.Authenticate : System.Web.Security.DefaultAuthenticationEventHandler
Public Custom Event Authenticate As DefaultAuthenticationEventHandler
Tipo evento
Esempio
Nell'esempio di codice seguente viene usato l'evento DefaultAuthentication_OnAuthenticate per verificare se la User proprietà dell'istanza corrente HttpContext è null
. Se la User proprietà è null
, l'esempio imposta la User proprietà dell'istanza corrente HttpContext su un GenericPrincipal oggetto in cui l'oggetto IdentityGenericPrincipal è un GenericIdentity con un Name valore "default".
Nota
L'evento DefaultAuthentication_OnAuthenticate viene generato prima dell'evento AuthorizeRequest . Di conseguenza, se si imposta la User proprietà dell'istanza corrente HttpContext su un'identità personalizzata, può influire sul comportamento dell'applicazione. Ad esempio, se si usa la FormsAuthentication classe e si specifica <deny users="?" />
nella sezione di configurazione dell'autorizzazione per assicurarsi che solo gli utenti autenticati abbiano accesso al sito, questo esempio causerà l'ignorare l'elemento deny , poiché 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'evento Authenticate viene generato dopo l'evento AuthenticateRequest . Viene usato per assicurarsi che la User proprietà dell'istanza corrente HttpContext venga popolata con un IPrincipal oggetto.
È possibile accedere all'evento Authenticate della DefaultAuthenticationModule classe specificando una subroutine denominata DefaultAuthentication_OnAuthenticate nel file Global.asax dell'applicazione.
È possibile utilizzare la Context proprietà dell'oggetto nell'evento DefaultAuthenticationEventArgsDefaultAuthentication_OnAuthenticate per impostare la User proprietà dell'istanza corrente HttpContext su un oggetto personalizzato IPrincipal . Se non si specifica un valore per la User proprietà, la DefaultAuthenticationModuleUser proprietà dell'istanza 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'istanza 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 sezione di autorizzazione nella configurazione.
Nota
Se l'applicazione Web è in esecuzione in IIS 7.0 in modalità integrata, l'evento Authenticate dell'oggetto DefaultAuthenticationModule non viene generato. Se l'attributo mode
dell'elemento di configurazione di autenticazione è impostato su "None" e l'applicazione sottoscrive l'evento Authenticate , viene generato un PlatformNotSupportedException errore. In questo scenario, per ricevere la notifica di autenticazione, sottoscrivere l'evento AuthenticateRequest dell'istanza HttpApplication . Per altre informazioni sui problemi di compatibilità in modalità integrata, vedere Spostamento di un'applicazione ASP.NET da IIS 6.0 a IIS 7.0.
Si applica a
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per