Partager via


Partie 7 : Appartenance et autorisation

par Jon Galloway

Le Magasin de musique MVC est une application de 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 d’implémentation de magasin léger qui vend des albums de musique en ligne et implémente l’administration de site de base, la connexion utilisateur et les fonctionnalités de panier d’achat.

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

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

Ajout du AccountController et des vues

Une différence entre le modèle d’application web MVC 3 complet 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 complet ASP.NET et copiez les fichiers suivants dans les mêmes répertoires dans notre projet :

  1. Copiez AccountController.cs dans le répertoire Controllers
  2. Copier des accountModels dans le répertoire Models
  3. Créez un répertoire de compte à l’intérieur du répertoire Views et copiez 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 MvcMusicStore-Assets.zip téléchargement à partir duquel nous avons copié nos fichiers de conception de site au début du tutoriel. Les fichiers d’appartenance se trouvent dans le répertoire Code.

La solution mise à jour doit ressembler à ce qui suit :

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 du dossier / Compte / mis en évidence.

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

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

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

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

Cela lance un site web de configuration. Cliquez sur l’onglet Sécurité de l’écran d’accueil, puis cliquez sur le lien « Activer les rôles » au 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 évidence 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 évidence 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 est 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 évidence 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 password123!
Confirmer le mot de passe password123!
Messagerie électronique (toute adresse e-mail fonctionne)
Question de sécurité (ce que vous voulez)
Réponse de sécurité (ce que vous voulez)

Remarque : Vous pouvez bien sûr utiliser n’importe quel mot de passe de votre choix. Les paramètres de sécurité de mot de passe par défaut nécessitent un mot de passe de 7 caractères et contenant 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 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éé avec succès.

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

Vous pouvez maintenant fermer la fenêtre du navigateur.

Autorisation basée sur les rôles

Nous pouvons maintenant restreindre l’accès au StoreManagerController à l’aide de l’attribut [Authorize], en spécifiant que l’utilisateur doit être dans le rôle Administrateur pour accéder à toute 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 Controller.

Maintenant, l’accès à /StoreManager fait apparaître une boîte de dialogue Ouvrir une session :

Capture d’écran de la page web du magasin de musique montrant la boîte de dialogue d’ouverture de session 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 Modifier l’album comme précédemment.