IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

MVC Music Store

MVC Music Store


précédentsommairesuivant

VII.1. Introduction

Notre contrôleur StoreManager est actuellement accessible à toute personne visitant notre site. Nous allons changer cela afin de restreindre l'accès à la partie administrateurs.

VII.2. Ajout du AccountController et des vues

Une différence entre le modèle " full ASP.NET MVC 2 Web Application " et le modèle " ASP.NET MVC 2 Empty Web Application " est que le modèle Empty n'inclut pas un AccountController. Nous allons ajouter un contrôleur AccountController en copiant quelques fichiers à partir d'une nouvelle application ASP.NET MVC créée depuis le modèle " full ASP.NET MVC 2 Web Application ".

Créez une nouvelle application ASP.NET MVC en utilisant le modèle " full ASP.NET MVC 2 Web Application template " et copiez les fichiers suivants dans les mêmes répertoires dans notre projet :

  1. Copiez AccountController.cs dans le répertoire Controllers
  2. Copiez AccountModels dans le répertoire Models
  3. Créez un répertoire Account dans le répertoire Views et copiez-y les quatre vues

Changez l'espace de nom des classes contrôleur et modèle afin qu'ils commencent par MvcMusicStore. La classe AccountController devrait utiliser l'espace de nom MvcMusicStore.Controllers, et la classe AccountModels devrait utiliser l'espace de nom MvcMusicStore.Models.

Note : Ces fichiers sont également disponibles dans le MvcMusicStore-Assets.zip depuis lequel nous avons copié les fichiers de notre site au début du tutoriel. Le fichier Membership est situé dans le répertoire Code.

La solution mise à jour devrait ressembler à ceci :

Image non disponible

VII.3. Ajout d'un administrateur avec le site de configuration ASP.NET

Avant de demander une autorisation d'accès à notre site web, nous aurons besoin de créer un utilisateur avec des droits d'accès. La meilleure façon de créer un utilisateur est d'utiliser le site de configuration ASP.NET.

Lancez le site web de configuration ASP.NET en cliquant sur l'icône suivante dans l'explorateur de solution.

Image non disponible

Ceci lancera un site web de configuration. Cliquez sur l'onglet Security dans la page d'accueil, puis cliquez sur le lien "Enable roles" au milieu de l'écran.

Image non disponible

Cliquez sur le lien "Create or Manage roles".

Image non disponible

Entrez "Administrator" comme nom de rôle et appuyez sur le bouton Add Role.

Image non disponible

Cliquez sur le bouton Précédent, puis cliquez sur le lien " Create user " à gauche.

Image non disponible

Remplissez les champs d'informations de l'utilisateur sur la gauche avec les informations suivantes :

Field Value
User Name Administrator
Password password123!
Confirm Password password123!
E-mail (n'importe quelle adresse e-mail fonctionnera)
Security Question (Ce que vous voulez)
Security Answer (Ce que vous voulez)

Note : Vous pouvez bien sûr utiliser n'importe quel mot de passe si vous le souhaitez. Le mot de passe ci-dessus est présenté en tant qu'exemple, et est supposé être celui-ci sur les forums de support sur CodePlex. Les paramètres par défaut d'un mot de passe sécurisé nécessitent un mot de passe de 7 caractères contenant 1 caractère alphanumérique.

Choisissez le rôle Administrator pour cet utilisateur, et cliquez sur le bouton Create User.

Image non disponible

A ce stade, vous devriez voir un message indiquant que l'utilisateur a été créé avec succès.

Image non disponible

Vous pouvez maintenant fermer la fenêtre du navigateur.

VII.4. Autorisation basée sur les rôles

Maintenant nous pouvons restreindre l'accès au StoreManagerController en utilisant l'attribut [Authorize], précisant que l'utilisateur doit avoir le rôle Administrator pour accéder à n'importe quelle action de la classe.

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

Note : L'attribut [Authorize] peut être placé aussi bien au niveau d'une action spécifique qu'au niveau de la classe.

Maintenant, si on essaye de parcourir /StoreManager, on atterrit sur une fenêtre d'authentification :

Image non disponible

Une fois connecté à notre nouveau compte Administrateur, nous sommes capable d'aller sur l'écran d'édition d'Album comme auparavant.

Vous pouvez utiliser les discussions disponibles sur http://mvcmusicstore.codeplex.com pour toutes questions ou tous commentaires.


précédentsommairesuivant

Copyright © 2012 Jon Galloway. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC.