DefaultAuthenticationModule.Authenticate Événement

Définition

Se produit après l'authentification de la requête.Occurs after the request has been authenticated.

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 

Exemples

L’exemple de code suivant utilise l’événement DefaultAuthentication_OnAuthenticate pour déterminer si User la propriété de l' HttpContext instance actuelle nullest.The following code example uses the DefaultAuthentication_OnAuthenticate event to test whether the User property of the current HttpContext instance is null. Si la User propriété a nullla valeur, l’exemple affecte User à la propriété de HttpContext l’instance actuelle GenericPrincipal un objet où Identity le de GenericPrincipal l’objet est GenericIdentity un avec un Name valeur «default».If the User property is null, then the sample sets the User property of the current HttpContext instance to a GenericPrincipal object where the Identity of the GenericPrincipal object is a GenericIdentity with a Name value of "default."

Notes

L’événement DefaultAuthentication_OnAuthenticate est déclenché avant l' AuthorizeRequest événement.The DefaultAuthentication_OnAuthenticate event is raised before the AuthorizeRequest event. Par conséquent, si vous affectez une User identité personnalisée à la HttpContext propriété de l’instance actuelle, cela peut affecter le comportement de votre application.As a result, if you set the User property of the current HttpContext instance to a custom identity, it can affect the behavior of your application. Par exemple, si FormsAuthentication vous utilisez la classe et que vous spécifiez <deny users="?" /> dans la section Configuration de l' autorisation pour vous assurer que seuls les utilisateurs authentifiés ont accès à votre site, cet exemple entraîne l’utilisation de l’élément Deny ignoré, car l’utilisateur aura un nom, qui est «default».For example, if you are using the FormsAuthentication class and you specify <deny users="?" /> in the authorization configuration section to ensure that only authenticated users have access to your site, this sample will cause the deny element to be ignored, as the user will have a name, which is "default." Au lieu de cela, <deny users="default" /> vous devez spécifier pour vous assurer que seuls les utilisateurs authentifiés peuvent accéder à votre site.Instead, you would specify <deny users="default" /> to ensure that only authenticated users can access your site.

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

Remarques

L' Authenticate événement est déclenché après l' AuthenticateRequest événement.The Authenticate event is raised after the AuthenticateRequest event. Elle est utilisée pour garantir que la User propriété de l’instance HttpContext actuelle est remplie avec un IPrincipal objet.It is used to ensure that the User property of the current HttpContext instance is populated with an IPrincipal object.

Vous pouvez accéder à Authenticate l’événement de DefaultAuthenticationModule la classe en spécifiant une sous-routine nommée DefaultAuthentication_OnAuthenticate dans le fichier global. asax de l’application.You can access the Authenticate event of the DefaultAuthenticationModule class by specifying a subroutine named DefaultAuthentication_OnAuthenticate in the application's Global.asax file.

Vous pouvez utiliser la Context propriété de l' DefaultAuthenticationEventArgs objet dans l’événement DefaultAuthentication_OnAuthenticate pour définir la User propriété de l’instance HttpContext actuelle sur un objet IPrincipal personnalisé.You can use the Context property of the DefaultAuthenticationEventArgs object in the DefaultAuthentication_OnAuthenticate event to set the User property of the current HttpContext instance to a custom IPrincipal object. Si vous ne spécifiez pas de valeur pour User la propriété, DefaultAuthenticationModule le définit User la propriété de HttpContext l’instance sur GenericPrincipal un objet qui ne contient aucune information utilisateur.If you do not specify a value for the User property, the DefaultAuthenticationModule sets the User property of the HttpContext instance to a GenericPrincipal object that contains no user information.

L’événement DefaultAuthentication_OnAuthenticate est déclenché après l' AuthenticateRequest événement et avant l' AuthorizeRequest événement.The DefaultAuthentication_OnAuthenticate event is raised after the AuthenticateRequest event and before the AuthorizeRequest event. Si vous avez une section qui dépend du nom d’utilisateur pour refuser ou autoriser l’accès à votre application, la modification User de la propriété de HttpContext l’instance actuelle peut affecter le comportement de votre application.If you have an section that depends on the user name to deny or allow access to your application, modifying the User property of the current HttpContext instance can affect the behavior of your application. Assurez-vous que le nom d' utilisateur que vous avez défini pendant l’événement DefaultAuthentication_OnAuthenticate est pris en compte lorsque vous spécifiez la section Authorization dans votre configuration.Be sure that the user name you set during the DefaultAuthentication_OnAuthenticate event is considered when you specify the authorization section in your configuration.

Notes

Si l’application Web s’exécute dans IIS 7,0 en mode intégré, l' Authenticate événement DefaultAuthenticationModule de n’est pas déclenché.If the Web application is running in IIS 7.0 in Integrated mode, the Authenticate event of the DefaultAuthenticationModule is not raised. Si l' mode attribut de l’élément de configuration d' authentification a la valeur «None» et que l’application s' Authenticate abonne à PlatformNotSupportedException l’événement, une erreur est générée.If the mode attribute of the authentication configuration element is set to "None" and the application subscribes to the Authenticate event, a PlatformNotSupportedException error is raised. Dans ce scénario, pour recevoir une notification d’authentification, abonnez-vous HttpApplication à l' AuthenticateRequest événement de l’instance.In this scenario, to receive authentication notification, subscribe to the AuthenticateRequest event of the HttpApplication instance. Pour plus d’informations sur les problèmes de compatibilité en mode intégré, consultez déplacement d’une Application ASP.net d’iis 6,0 vers iis 7,0.For more information about compatibility issues in Integrated mode, see Moving an ASP.NET Application from IIS 6.0 to IIS 7.0.

S’applique à

Voir aussi