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 pour l'événement.

Exemples

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

Notes

L’événement DefaultAuthentication_OnAuthenticate est déclenché avant l’événementAuthorizeRequest. Par conséquent, si vous définissez la User propriété du actif HttpContext sur une identité personnalisée, cela peut affecter le comportement de votre application. Par exemple, si vous utilisez la FormsAuthentication classe et que vous vous assurez que seuls les utilisateurs authentifiés ont accès à votre site, en utilisant la authorization section et en spécifiant <deny users="?" />, vous allez ignorer l’élément deny de cet exemple, 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 actif 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 actif HttpContext sur un objet personnalisé IPrincipal . Si vous ne spécifiez pas de valeur pour la User propriété de l’objet HttpContext référencé par la Context propriété, la DefaultAuthenticationModule propriété de HttpContext est définie User sur 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 avez 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é du actuel 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