Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 :
- Copier AccountController.cs dans le répertoire Contrôleurs
- Copier AccountModels dans le répertoire Models
- 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 :
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.
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.
Cliquez sur le lien « Créer ou gérer des rôles ».
Entrez « Administrateur » comme nom de rôle, puis appuyez sur le bouton Ajouter un rôle.
Cliquez sur le bouton Précédent, puis sur le lien Créer un utilisateur sur le côté gauche.
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.
À ce stade, vous devez voir un message indiquant que l’utilisateur a été créé 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 :
Une fois connecté avec notre nouveau compte Administrateur, nous pouvons accéder à l’écran Édition de l’album comme avant.