Dela via


Del 7: Medlemskap och auktorisering

av Jon Galloway

MVC Music Store är ett självstudieprogram som introducerar och förklarar steg för steg hur du använder ASP.NET MVC och Visual Studio för webbutveckling.

MVC Music Store är en enkel exempelbutiksimplementering som säljer musikalbum online och implementerar grundläggande webbplatsadministration, användarinloggning och kundvagnsfunktioner.

Den här självstudieserien beskriver alla steg som vidtagits för att skapa exempelprogrammet ASP.NET MVC Music Store. Del 7 omfattar medlemskap och auktorisering.

Vår Store Manager-kontrollant är för närvarande tillgänglig för alla som besöker vår webbplats. Nu ska vi ändra detta för att begränsa behörigheten till webbplatsadministratörer.

Lägga till AccountController och vyer

En skillnad mellan den fullständiga ASP.NET MVC 3-webbprogrammallen och mallen ASP.NET MVC 3 Empty Web Application är att den tomma mallen inte innehåller någon kontokontrollant. Vi lägger till en kontokontrollant genom att kopiera några filer från ett nytt ASP.NET MVC-program som skapats från den fullständiga ASP.NET MVC 3-webbprogrammallen.

Skapa ett nytt ASP.NET MVC-program med hjälp av den fullständiga ASP.NET MVC 3-webbprogrammallen och kopiera följande filer till samma kataloger i vårt projekt:

  1. Kopiera AccountController.cs i katalogen Controllers
  2. Kopiera AccountModels i katalogen Modeller
  3. Skapa en kontokatalog i katalogen Vyer och kopiera alla fyra vyerna i

Ändra namnområdet för klasserna Controller och Modell så att de börjar med MvcMusicStore. Klassen AccountController bör använda namnområdet MvcMusicStore.Controllers och klassen AccountModels bör använda namnområdet MvcMusicStore.Models.

Observera: Dessa filer är också tillgängliga i MvcMusicStore-Assets.zip-nedladdningen, från vilken vi kopierade våra webbplatsdesignfiler i början av handledningen. Medlemskapsfilerna finns i kodkatalogen.

Den uppdaterade lösningen bör se ut så här:

Skärmbild av Solution Explorer-fönstret med AccountController.cs, AccountModels.cs och filerna i mappen /Account/ markerat.

Lägga till en administrativ användare med ASP.NET-konfigurationsplatsen

Innan vi behöver auktorisering på vår webbplats måste vi skapa en användare med åtkomst. Det enklaste sättet att skapa en användare är att använda den inbyggda ASP.NET Configuration-webbplatsen.

Starta webbplatsen ASP.NET Configuration genom att klicka på ikonen i Solution Explorer.

Skärmbild av Solution Explorer-fönstret med jordgloben och hammarikonen markerad i en röd rektangel.

Detta startar en konfigurationswebbplats. Klicka på fliken Säkerhet på startskärmen och klicka sedan på länken "Aktivera roller" i mitten av skärmen.

Skärmbild av konfigurationswebbplatsen som visar avsnittet Roller och länken Aktivera roller markerad i en röd rektangel.

Klicka på länken "Skapa eller hantera roller".

Skärmbild av konfigurationswebbplatsen som visar avsnittet Roller och länken Skapa eller hantera roller markerade i en röd rektangel.

Ange "Administratör" som rollnamn och tryck på knappen Lägg till roll.

Skärmbild av konfigurationsfönstret som visar Administratör i fältet Nytt rollnamn och markeras med en röd pil.

Klicka på bakåtknappen och klicka sedan på länken Skapa användare till vänster.

Skärmbild av konfigurationswebbplatsen som visar avsnittet Användare och länken Skapa användare markerad i en röd rektangel.

Fyll i fälten för användarinformation till vänster med hjälp av följande information:

fält Värde
användarnamn Administratör
Lösenord
Bekräfta lösenordet
e-post (alla e-postadresser fungerar)
säkerhetsfråga (vad du vill)
Säkerhetssvar (vad du vill)

Notera:

  • I föregående tabell har lösenordet utelämnats.
  • Du kan naturligtvis använda valfritt lösenord som du vill. Standardinställningarna för lösenordssäkerhet kräver ett lösenord som är 7 tecken långt och innehåller ett icke-alfanumeriskt tecken.

Välj administratörsrollen för den här användaren och klicka på knappen Skapa användare.

Skärmbild av konfigurationswebbplatsen som visar avsnittet Roller med kryssrutan Administratörsroll markerad och markerad med en röd rektangel.

Nu bör du se ett meddelande som anger att användaren har skapats framgångsrikt.

Skärmbild av konfigurationswebbplatsen som visar ett meddelande om att skapandet av användarkontot har slutförts.

Nu kan du stänga webbläsarfönstret.

Rollbaserad auktorisering

Nu kan vi begränsa åtkomsten till StoreManagerController med hjälp av attributet [Auktorisera] och ange att användaren måste vara i administratörsrollen för att få åtkomst till alla kontrollantåtgärder i klassen.

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

Obs! Attributet [Auktorisera] kan placeras på specifika åtgärdsmetoder och på klassnivå controller.

Om du bläddrar till /StoreManager visas nu en dialogruta för inloggning:

Skärmbild av webbsidan för musikarkivet som visar inloggningsdialogrutan med textfälten användarnamn och lösenord.

När du har loggat in med vårt nya administratörskonto kan vi gå till skärmen Redigera album som tidigare.