Partager via


Partie 7 : Appartenance et autorisation

par Jon Galloway

Le Magasin de musique MVC est une application tutoriel qui présente et explique pas à pas comment utiliser ASP.NET MVC et Visual Studio pour le développement web.

Le Magasin de musique MVC est un exemple léger d’implémentation de magasin qui vend des albums de musique en ligne, et implémente l’administration de site de base, la connexion utilisateur et la fonctionnalité de panier d’achat.

Cette série de tutoriels détaille toutes les étapes effectuées pour générer l’exemple d’application MVC Music Store ASP.NET. La partie 7 couvre l’appartenance et l’autorisation.

Notre contrôleur Store Manager est actuellement accessible à toute personne qui visite notre site. Nous allons modifier cette option pour restreindre l’autorisation aux administrateurs de site.

Ajout d'un AccountController et de vues

Une différence entre le modèle d’application web MVC 3 complète ASP.NET et le modèle d’application web vide MVC 3 ASP.NET est que le modèle vide n’inclut pas de contrôleur de compte. Nous allons ajouter un contrôleur de compte en copiant quelques fichiers à partir d’une nouvelle application MVC ASP.NET créée à partir du modèle d’application web MVC 3 complet ASP.NET.

Créez une application MVC ASP.NET à l’aide du modèle d’application web MVC 3 ASP.NET complète et copiez les fichiers suivants dans les mêmes répertoires de notre projet :

  1. Copier AccountController.cs dans le répertoire Contrôleurs
  2. Copier AccountModels dans le répertoire Models
  3. Créer un répertoire de compte dans le répertoire Vues et copier les quatre vues dans

Modifiez l’espace de noms pour les classes Controller et Model afin qu’elles commencent par MvcMusicStore. La classe AccountController doit utiliser l’espace de noms MvcMusicStore.Controllers, et la classe AccountModels doit utiliser l’espace de noms MvcMusicStore.Models.

Remarque : ces fichiers sont également disponibles dans le téléchargement MvcMusicStore-Assets.zip à partir duquel nous avons copié nos fichiers de conception de site au début du didacticiel. Les fichiers d’appartenance se trouvent dans le répertoire Code.

La solution mise à jour doit ressembler à ceci :

Capture d’écran du volet Explorateur de solutions avec le point C S du contrôleur de compte, le point CS des modèles de compte et les fichiers dans le dossier / Compte / mis en surbrillance.

Ajout d’un utilisateur administratif avec le site de configuration ASP.NET

Avant de demander l’autorisation dans notre site web, nous devons créer un utilisateur disposant d’un accès. Le moyen le plus simple de créer un utilisateur consiste à utiliser le site web de configuration intégré ASP.NET.

Lancez le site web ASP.NET Configuration en cliquant sur l’icône dans l’Explorateur de solutions.

Capture d’écran de la fenêtre Explorateur de solutions avec l’icône globe et marteau mis en surbrillance dans un rectangle rouge.

Cela lance un site web de configuration. Cliquez sur l’onglet Sécurité sur l’écran d’accueil, puis cliquez sur le lien « Activer les rôles » dans le centre de l’écran.

Capture d’écran du site web de configuration montrant la section Rôles et le lien Activer les rôles mis en surbrillance dans un rectangle rouge.

Cliquez sur le lien « Créer ou gérer des rôles ».

Capture d’écran du site web de configuration montrant la section Rôles et le lien Créer ou gérer des rôles mis en surbrillance dans un rectangle rouge.

Entrez « Administrateur » comme nom de rôle, puis appuyez sur le bouton Ajouter un rôle.

Capture d’écran de la fenêtre de configuration montrant Administrateur dans le champ Nouveau nom de rôle et mis en surbrillance avec une flèche rouge.

Cliquez sur le bouton Précédent, puis sur le lien Créer un utilisateur sur le côté gauche.

Capture d’écran du site web de configuration montrant la section Utilisateurs et le lien Créer un utilisateur mis en surbrillance dans un rectangle rouge.

Renseignez les champs d’informations utilisateur à gauche à l’aide des informations suivantes :

Champ Valeur
nom d’utilisateur Administrateur
mot de passe
Confirmer le mot de passe
Adresse électronique (toute adresse e-mail fonctionne)
question de sécurité (ce que vous aimez)
Réponse de sécurité (ce que vous aimez)

Remarque:

  • Dans le tableau précédent, le mot de passe a été annulé.
  • Vous pouvez bien sûr utiliser n’importe quel mot de passe souhaité. Les paramètres de sécurité de mot de passe par défaut nécessitent un mot de passe de 7 caractères et contiennent un caractère non alphanumérique.

Sélectionnez le rôle Administrateur pour cet utilisateur, puis cliquez sur le bouton Créer un utilisateur.

Capture d’écran du site web de configuration montrant la section Rôles avec la case à cocher Rôle Administrateur cochée et mise en surbrillance avec un rectangle rouge.

À ce stade, vous devez voir un message indiquant que l’utilisateur a été créé correctement.

Capture d’écran du site web de configuration montrant un message indiquant que la création du compte d’utilisateur s’est terminée correctement.

Vous pouvez maintenant fermer la fenêtre du navigateur.

Autorisation basée sur les rôles

À présent, nous pouvons restreindre l’accès au StoreManagerController à l’aide de l’attribut [Authorize], en spécifiant que l’utilisateur doit se trouver dans le rôle Administrateur pour accéder à n’importe quelle action de contrôleur dans la classe.

[Authorize(Roles = "Administrator")]
public class StoreManagerController : Controller
{
    // Controller code here
}

Remarque : l’attribut [Authorize] peut être placé sur des méthodes d’action spécifiques ainsi qu’au niveau de la classe Contrôleur.

Accéder à /StoreManager affiche une boîte de dialogue de connexion :

Capture d’écran de la page web du magasin de musique montrant la boîte de dialogue de connexion avec les champs de texte nom d’utilisateur et mot de passe.

Une fois connecté avec notre nouveau compte Administrateur, nous pouvons accéder à l’écran Édition de l’album comme avant.