DefaultAuthenticationEventArgs(HttpContext) Constructeur
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.