Partager via


DefaultAuthenticationEventArgs(HttpContext) Constructeur

Définition

Initialise une nouvelle instance de la 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)

Paramètres

context
HttpContext

Contexte de l’événement.

Exemples

L’exemple de code suivant utilise l’événement DefaultAuthentication_OnAuthenticate pour tester si la User propriété du courant HttpContext est null. Si la propriété est null, l’exemple définit la User propriété du courant HttpContext sur un GenericPrincipal objet où la propriété de l’objet GenericPrincipal est un GenericIdentity objet dont Name la Identity valeur de propriété est « default ».

Note

L’événement DefaultAuthentication_OnAuthenticate est déclenché avant l’événementAuthorizeRequest. Par conséquent, si vous définissez la User propriété actuelle HttpContext sur une identité personnalisée, elle peut affecter le comportement de votre application. Par exemple, si vous utilisez la FormsAuthentication classe et que vous vérifiez que seuls les utilisateurs authentifiés ont accès à votre site, en utilisant la authorization section et en spécifiant <deny users="?" />, vous allez faire en sorte que l’élément deny de cet exemple soit ignoré, car l’utilisateur aura un nom, qui est « par défaut ». Au lieu de cela, vous devez spécifier <deny users="default" /> pour vous assurer que seuls les utilisateurs authentifiés peuvent accéder à votre 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’objet DefaultAuthenticationModule construit un DefaultAuthenticationEventArgs objet à l’aide du courant HttpContext et le transmet à l’événement DefaultAuthentication_OnAuthenticate .

Vous pouvez utiliser la Context propriété de l’objet DefaultAuthenticationEventArgs fourni à l’événement DefaultAuthentication_OnAuthenticate pour définir la User propriété du courant HttpContext sur un objet personnalisé IPrincipal . Si vous ne spécifiez pas de valeur pour la User propriété HttpContext référencée par la Context propriété, la DefaultAuthenticationModule propriété définit la User propriété sur HttpContext un GenericPrincipal objet qui ne contient aucune information utilisateur.

L’événement DefaultAuthentication_OnAuthenticate est déclenché après l’événement AuthenticateRequest et avant l’événementAuthorizeRequest. Si vous disposez d’une authorization section qui dépend du nom d’utilisateur pour refuser ou autoriser l’accès à votre application, la modification de la User propriété actuelle HttpContext peut affecter le comportement de votre 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 authorization section dans votre configuration.

S’applique à

Voir aussi