Share via


Flux de données de sécurité ASP.NET

Mise à jour : novembre 2007

Vous pouvez concevoir la sécurité des applications ASP.NET de plusieurs façons. Cette rubrique décrit le flux de données de sécurité pour deux scénarios courants : emprunt d'identité et authentification par formulaire à l'aide de cookies.

Scénario 1 : emprunt d'identité

Le scénario d'emprunt d'identité compte s'appuie sur l'authentification de Microsoft Internet Information Services (IIS) et la sécurité des accès fichier de Microsoft Windows pour réduire la programmation de la sécurité dans l'application ASP.NET elle-même. Le flux de données apparaît dans l'illustration suivante.

Emprunt d'identité

L'illustration représente la séquence d'événements suivante :

  1. IIS reçoit une demande d'un client réseau.

  2. IIS authentifie le client à l'aide de la sécurité de base, Digest ou intégrée Windows (NTLM ou Kerberos).

  3. Si le client est authentifié, IIS passe la demande authentifiée à ASP.NET.

  4. L'application ASP.NET emprunte l'identité du client demandeur en utilisant le jeton d'accès passé à partir d'IIS et s'appuie sur les autorisations de fichiers NTFS pour accorder l'accès aux ressources. L'application ASP.NET doit uniquement vérifier que l'emprunt d'identité a la valeur true dans le fichier de configuration ASP.NET ; aucun code de sécurité ASP.NET n'est requis.

    Notez que si l'emprunt d'identité n'est pas activé, l'application s'exécute avec l'identité de processus ASP.NET. Pour Microsoft Windows 2000 Server et Windows XP Professionnel, l'identité par défaut est un compte local nommé ASPNET créé automatiquement lorsque ASP.NET est installé. Pour Microsoft Windows Server 2003, l'identité par défaut est l'identité du pool d'applications de l'application IIS (par défaut, le compte SERVICE RÉSEAU.)

    Remarque :

    Si l'emprunt d'identité n'est pas activé et que vous souhaitez restreindre l'accès d'un utilisateur donné ou d'un ensemble d'utilisateurs, tels que les utilisateurs authentifiés à l'aide de l'authentification par formulaire, vous devez utiliser d'autres types d'autorisation, comme l'autorisation d'URL. Pour plus d'informations sur l'autorisation d'URL, consultez Autorisation ASP.NET.

    Pour plus d'informations sur l'utilisation de l'emprunt d'identité dans les applications ASP.NET, consultez Emprunt d'identité ASP.NET et Utilisation de l'authentification IIS avec l'emprunt d'identité ASP.NET.

  5. Si l'accès est accordé, l'application ASP.NET retourne la ressource demandée via IIS.

Scénario 2 : authentification par formulaire

Dans le scénario d'authentification par formulaire, une application recueille les informations d'identification comme le nom et le mot de passe directement auprès de l'utilisateur et détermine elle-même leur authenticité. L'authentification IIS n'est pas utilisée par l'application, mais les paramètres d'authentification IIS peuvent affecter l'authentification par formulaire. À titre de règle, lorsque vous utilisez l'authentification par formulaire, vous activez l'accès anonyme dans IIS. Sinon, quand les utilisateurs ne passent pas l'authentification IIS, ils ne peuvent pas accéder à votre application et fournir un nom d'utilisateur et un mot de passe à l'authentification par formulaire.

Le flux de données de ce scénario apparaît dans l'illustration suivante.

Authentification par formulaire

Cette illustration représente la séquence d'événements suivante :

  1. Un utilisateur génère une demande pour une ressource protégée.

  2. IIS reçoit la demande, et comme l'accès anonyme IIS est activé, IIS n'exécute pas l'authentification utilisateur et la demande est transmise à l'application ASP.NET.

  3. Comme le mode d'authentification ASP.NET s'effectue par formulaire, l'application ASP.NET examine la demande d'un ticket d'authentification par formulaire (cookie spécifique). S'il n'y a aucun ticket d'authentification joint à la demande, ASP.NET redirige la demande vers la page d'ouverture de session spécifiée dans le fichier de configuration de l'application.

  4. Dans la page de connexion, l'utilisateur entre les informations d'identification requises (généralement, un nom et un mot de passe). Le code de l'application vérifie les informations d'identification pour confirmer leur authenticité. Si les informations d'identification sont authentifiées, le code de l'application joint un ticket d'authentification à la réponse qui représente les informations d'identification de l'utilisateur. (Le mot de passe n'est pas inclus). Si l'authentification échoue, la réponse est généralement retournée avec un message indiquant que l'accès est refusé ou le formulaire de connexion est de nouveau présenté.

    Le ticket d'authentification émis est inclus dans les demandes suivantes adressées à l'application ASP.NET. ASP.NET vérifie la validité du ticket à l'aide d'un contrôle d'authentification de message (MAC).

  5. Si l'utilisateur est authentifié, ASP.NET vérifie l'autorisation et peut autoriser l'accès à la ressource initialement demandée, rediriger la demande vers une autre page ou rediriger la demande vers un module d'autorisation personnalisé où les informations d'identification sont testées afin d'autoriser ou non l'accès à la ressource protégée. Si l'autorisation échoue, ASP.NET redirige l'utilisateur vers la page d'ouverture de session.

    Si l'utilisateur est autorisé, l'accès est accordé à la ressource protégée ; sinon, l'application peut exiger un test supplémentaire des informations d'identification avant d'autoriser l'accès à la ressource protégée, selon le design de l'application.

    Remarque :

    L'authentification par formulaire et la vérification d'autorisation s'appliquent uniquement aux ressources protégées par les éléments de configuration authentication et authorization. L'accès aux ressources Windows protégées à l'aide des listes de contrôle d'accès (ACL) est vérifié par rapport à l'identité Windows en cours de l'application ASP.NET. Pour plus d'informations, consultez Emprunt d'identité ASP.NET.

Voir aussi

Tâches

Comment : implémenter une simple authentification par formulaire

Concepts

Emprunt d'identité ASP.NET

Utilisation de l'authentification IIS avec l'emprunt d'identité ASP.NET

Autres ressources

Gestion des utilisateurs à l'aide de l'appartenance

Gestion de l'autorisation à l'aide de rôles

Sécurité des applications Web ASP.NET

Fournisseur d'authentification par formulaire