Partager via


DefaultAuthenticationEventHandler Délégué

Définition

Représente la méthode qui gère l’événement DefaultAuthentication_OnAuthenticate d’un DefaultAuthenticationModule.

public delegate void DefaultAuthenticationEventHandler(System::Object ^ sender, DefaultAuthenticationEventArgs ^ e);
public delegate void DefaultAuthenticationEventHandler(object sender, DefaultAuthenticationEventArgs e);
type DefaultAuthenticationEventHandler = delegate of obj * DefaultAuthenticationEventArgs -> unit
Public Delegate Sub DefaultAuthenticationEventHandler(sender As Object, e As DefaultAuthenticationEventArgs)

Paramètres

sender
Object

Source de l'événement.

e
DefaultAuthenticationEventArgs

DefaultAuthenticationEventArgs qui contient les données d’événement.

Exemples

L’exemple de code suivant utilise l’événement DefaultAuthentication_OnAuthenticate pour tester si la User propriété du actuel HttpContext est null. Si la propriété a la valeur null, l’exemple définit la User propriété du actuel HttpContext sur un GenericPrincipal objet, où le Identity de l’objet GenericPrincipal est un GenericIdentity avec la Name valeur « 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 actuel 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="?" />, cet exemple entraîne l’ignorer deny , car l’utilisateur aura un nom, qui est « default ». 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

Le DefaultAuthenticationEventHandler délégué est défini pour l’événement Authenticate de la DefaultAuthenticationModule classe . Vous pouvez accéder à l’événement Authenticate de la DefaultAuthenticationModule classe en spécifiant une sous-routine nommée DefaultAuthentication_OnAuthenticate dans le fichier Global.asax de votre application ASP.NET. L’événement Authenticate est déclenché après l’événement AuthenticateRequest et est utilisé pour garantir que la User propriété du actuel HttpContext est remplie avec un IPrincipal objet .

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 actuel HttpContext sur un objet personnalisé IPrincipal . Si vous ne spécifiez pas de valeur pour la User propriété du HttpContext fourni pendant l’événement DefaultAuthentication_OnAuthenticate , définit DefaultAuthenticationModule la User propriété du HttpContext 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.

Méthodes d’extension

GetMethodInfo(Delegate)

Obtient un objet qui représente la méthode représentée par le délégué spécifié.

S’applique à