Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source

Procédure pas à pas : utilisation de l'authentification par formulaire dans ASP.NET MVC

De nombreuses applications Web requièrent une méthode pour restreindre l'accès à certaines ressources (telles que des pages spécifiques) afin que ces ressources soient uniquement accessibles aux utilisateurs authentifiés. Le modèle de projet d'application Web par défaut pour ASP.NET MVC fournit un contrôleur, des modèles de données et des vues que vous pouvez utiliser pour ajouter l'authentification par formulaire ASP.NET à votre application. Les fonctionnalités intégrées permettent aux utilisateurs de s'enregistrer, de se connecter et de se déconnecter, et de modifier leur mot de passe. Pour de nombreuses applications, ces fonctionnalités fournissent un niveau suffisant d'authentification utilisateur.

Cette procédure pas à pas présente les fonctionnalités fournies par défaut pour l'authentification par formulaire ASP.NET dans une application ASP.NET MVC. Cette procédure pas à pas décrit les tâches suivantes :

  • Comment créer une application ASP.NET MVC qui contient les fonctionnalités intégrées pour l'authentification.

  • Comment utiliser des fonctionnalités intégrées pour créer un compte d'utilisateur.

  • Comment les utilisateurs connectés peuvent modifier leur mot de passe.

  • Comment restreindre l'accès aux vues spécifiques afin que seuls les utilisateurs authentifiés (connectés) puissent les consulter.

Pour exécuter cette procédure pas à pas, vous avez besoin des éléments suivants :

  • Microsoft Visual Studio 2008 Service Pack 1 ou Visual Web Developer 2008 Express Edition Service Pack 1, ou version ultérieure de Visual Studio.

  • Infrastructure ASP.NET MVC 2. Si vous avez installé Visual Studio 2010, ASP.NET MVC 2 est déjà installé sur votre ordinateur. Pour télécharger la version la plus récente de l'infrastructure, consultez la page de téléchargement d'ASP.NET MVC.

Cette procédure considère que vous connaissez déjà ASP.NET MVC. Pour plus d'informations, consultez ASP.NET MVC 2.

Pour démarrer, créez une application Web ASP.NET MVC.

Pour créer une application ASP.NET MVC

  1. Dans le menu Fichier, cliquez sur Nouveau projet.

  2. Dans la boîte de dialogue Nouveau projet, sous Types de projets, développez Visual Basic ou Visual C#, puis cliquez sur Web.

  3. Sous Modèles Visual Studio installés, sélectionnez Application Web ASP.NET MVC 2.

  4. Dans la zone Nom, tapez MvcAuthentication.

  5. Dans la zone Emplacement, entrez le nom du dossier du projet.

  6. Sélectionnez Créer le répertoire pour la solution.

  7. Cliquez sur OK.

  8. Dans la boîte de dialogue Créer un projet de test, sélectionnez Non, ne pas créer de projet de test unitaire, puis cliquez sur OK.

    RemarqueRemarque :

    Si vous utilisez l'édition Standard de Visual Studio, la boîte de dialogue Créer un projet de test unitaire ne s'affiche pas.

    Le nouveau projet d'application MVC est créé.

Dans le dossier Contrôleurs, la classe de contrôleur AccountController contient des méthodes d'action qui peuvent inscrire un nouvel utilisateur, connecter l'utilisateur à l'application et l'en déconnecter, et modifier le mot de passe d'un utilisateur existant. Dans le dossier Vues, le dossier Comptes contient des vues qui prennent en charge ces actions. Dans le dossier Modèles, la classe AccountModels contient des classes qui définissent les objets de données, services et routines de validation qui prennent en charge l'authentification par formulaire.

Dans le dossier Vues, le sous-dossier Partagé contient un contrôle nommé LogOnUserControl.ascx qui indique si l'utilisateur est connecté. Le contrôle est affiché au haut de la vue de page maître. Lorsque l'utilisateur n'est pas connecté, le contrôle affiche « Se connecter » et renvoie vers la vue LogOn. Lorsque l'utilisateur est connecté, le contrôle affiche un message de bienvenue qui inclut le nom d'utilisateur et un lien de déconnexion.

Dans cette partie de la procédure pas à pas, vous utiliserez les fonctionnalités intégrées de l'application pour inscrire un nouvel utilisateur et examiner la façon dont les informations utilisateur sont stockées.

Pour inscrire un nouvel utilisateur

  1. Appuyez sur CTRL-F5 pour exécuter l'application.

  2. En haut de la page, cliquez sur Se connecter.

  3. Cliquez sur S'inscrire.

  4. Entrez les valeurs pour les zones Nom d'utilisateur, Adresse de messagerie, Mot de passe et Confirmer le mot de passe.

    Prenez note du nom d'utilisateur et du mot de passe que vous utilisez, car vous aurez besoin de ces informations d'identification ultérieurement dans cette procédure.

  5. Cliquez sur S'inscrire.

    Un message de bienvenue et un lien de déconnexion sont affichés en haut de la page.

Lorsque vous inscrivez un utilisateur, l'infrastructure ASP.NET MVC vérifie si le fichier de base de données d'appartenance ASP.NET existe. Si la base de données n'existe pas, ASP.NET crée un fichier de base de données nommé ASPNETDB.MDF et le remplit avec les tables obligatoires.

Pour examiner la base de données d'appartenance

  1. Dans l'Explorateur de solutions, cliquez sur le bouton Actualiser, puis développez le dossier App_Data.

    Le fichier ASPNETDB.MDF est ajouté au dossier App_Data.

  2. Dans l'Explorateur de serveurs, développez Connexions de données, puis développez ASPNETDB.MDF.

    Vous pouvez maintenant examiner les tables, vues de données et procédures stockées qui composent la base de données. Remarquez que certaines tables, vues et procédures stockées prennent en charge l'authentification utilisateur, les profils, l'appartenance et les rôles.

Le modèle de projet ASP.NET MVC fournit des méthodes d'action et des vues qui permettent aux utilisateurs de modifier des mots de passe, mais vous laisse décider de la façon dont vous les utilisez. Pour cette procédure pas à pas, vous ajouterez un lien Modifier le mot de passe au contrôle LogOnUserControl.ascx. Par conséquent, le lien vers la vue ChangePassword s'affiche à chaque fois que l'utilisateur se connecte.

Pour ajouter et tester la fonctionnalité de modification de mot de passe

  1. Si votre application Web s'exécute encore dans le navigateur, fermez le navigateur.

  2. Dans le sous-dossier Partagé du dossier Vues, ouvrez le contrôle LogOnUserControl.ascx.

  3. Insérez la balise de lien d'action suivante juste après le lien d'action LogOff :

    [ <%: Html.ActionLink("Change Password", "ChangePassword", "Account") %> ]
    
  4. Enregistrez le fichier.

  5. Appuyez sur CTRL-F5 pour compiler et exécuter l'application.

  6. Ouvrez une session en tant que l'utilisateur que vous avez créé précédemment.

    Le message de bienvenue, le lien de déconnexion et le nouveau lien de modification de mot de passe sont affichés en haut de la page.

  7. Cliquez sur Modifier le mot de passe.

  8. Entrez les valeurs pour les zones Mot de passe actuel, Nouveau mot de passe et Confirmer le nouveau mot de passe.

  9. Cliquez sur Modifier le mot de passe.

    Le mot de passe est modifié.

  10. Cliquez sur le lien Fermer la session.

  11. Cliquez sur le lien Se connecter et ouvrez à nouveau une session à l'aide du même nom d'utilisateur et du nouveau mot de passe.

Maintenant que les utilisateurs peuvent se connecter, se déconnecter et modifier un mot de passe, vous pouvez spécifier quelles parties de l'application doivent être restreintes aux utilisateurs authentifiés. Vous pouvez restreindre l'accès à une vue à l'aide de l'attribut AuthorizeAttribute pour marquer la méthode d'action qui crée la vue. Vous pouvez restreindre l'accès à toutes les vues d'un contrôleur à l'aide de l'attribut AuthorizeAttribute pour marquer le contrôleur lui-même.

Pour les besoins de cette procédure pas à pas, vous allez restreindre l'accès à la vue About.

Pour restreindre l'accès à une vue

  1. Si votre application Web s'exécute encore dans le navigateur, fermez le navigateur.

  2. Ouvrez la classe HomeController et recherchez la méthode d'action About.

  3. Ajoutez l'attribut AuthorizeAttribute à la déclaration de méthode d'action About, comme indiqué dans l'exemple suivant :

    [Authorize]
    public ActionResult About()
    {
        return View();
    }
    

    <Authorize()> _
    Function About() As ActionResult
        Return View()
    End Function
    
  4. Enregistrez le fichier.

  5. Appuyez sur CTRL-F5 pour compiler et exécuter l'application.

  6. Sans vous connecter, cliquez sur l'onglet À propos de.

    La vue LogOn s'affiche car vous devez maintenant ouvrir une session pour pouvoir consulter la page About.

  7. Connectez-vous à l'application.

  8. Cliquez sur l'onglet À propos de.

    La page About s'affiche.

Bien que le modèle de projet ASP.NET MVC fournisse l'authentification par formulaire, vous pouvez souhaiter en savoir plus sur l'appartenance ASP.NET et sur l'ajout de rôles à votre application Web. Pour plus d'informations, consultez les rubriques suivantes :

Autres ressources

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft