Sdílet prostřednictvím


Část 7: Členství a autorizace

podle Jon Galloway

MVC Music Store je výukové aplikace, která představuje a vysvětluje, jak používat ASP.NET MVC a Visual Studio pro vývoj pro web.

MVC Music Store je jednoduchá ukázková implementace obchodu, která prodává hudební alba online a implementuje základní správu webu, přihlašování uživatelů a funkce nákupního košíku.

Tato série kurzů podrobně popisuje všechny kroky potřebné k sestavení ukázkové aplikace ASP.NET MVC Music Store. Část 7 se zabývá členstvím a autorizací.

Náš kontroler Správce storu je momentálně přístupný všem, kteří navštíví náš web. Pojďme to změnit tak, aby se omezilo oprávnění správcům webu.

Přidání AccountControlleru a zobrazení

Jedním rozdílem mezi úplnou šablonou webové aplikace ASP.NET MVC 3 a šablonou prázdné webové aplikace ASP.NET MVC 3 je to, že prázdná šablona neobsahuje kontroler účtu. Přidáme kontroler účtu zkopírováním několika souborů z nové aplikace ASP.NET MVC vytvořené z úplné šablony webové aplikace ASP.NET MVC 3.

Vytvořte novou aplikaci ASP.NET MVC pomocí úplné šablony webové aplikace ASP.NET MVC 3 a zkopírujte následující soubory do stejných adresářů v našem projektu:

  1. Zkopírujte AccountController.cs ve složce Controllers
  2. Zkopírujte AccountModels do adresáře Models
  3. Vytvořte adresář účtu v adresáři Zobrazení a zkopírujte všechna čtyři zobrazení v

Změňte obor názvů pro třídy Controller a Model tak, aby začínaly MvcMusicStore. Třída AccountController by měla používat obory názvů MvcMusicStore.Controllers a třída AccountModels by měla používat obory názvů MvcMusicStore.Models.

Poznámka: Tyto soubory jsou také k dispozici ke stažení v MvcMusicStore-Assets.zip, ze kterého jsme zkopírovali soubory návrhu webu na začátku kurzu. Soubory členství se nacházejí v adresáři Code.

Aktualizované řešení by mělo vypadat takto:

Snímek obrazovky podokna Průzkumníka řešení se zvýrazněnými soubory Account Controller.cs, Account Models.cs a soubory ve složce /Účet/.

Přidání administrativního uživatele pomocí webu konfigurace ASP.NET

Než budeme vyžadovat autorizaci na našem webu, budeme muset vytvořit uživatele s přístupem. Nejjednodušší způsob, jak vytvořit uživatele, je použít integrovaný web konfigurace ASP.NET.

Kliknutím na ikonu v průzkumníku řešení spusťte webovou stránku konfigurace ASP.NET.

snímek obrazovky okna Průzkumníka řešení se zvýrazněnou ikonou glóbusu a kladiva v červeném obdélníku

Tím se spustí konfigurační web. Klikněte na kartu Zabezpečení na domovské obrazovce a potom klikněte na odkaz Povolit role uprostřed obrazovky.

Snímek obrazovky s webem konfigurace, zobrazující oddíl Role a odkaz Povolit role zvýrazněný v červeném obdélníku

Klikněte na odkaz Vytvořit nebo spravovat role.

snímek obrazovky s webem konfigurace zobrazující oddíl Role a odkaz Vytvořit nebo spravovat role zvýrazněný v červeném obdélníku

Jako název role zadejte "Správce" a stiskněte tlačítko Přidat roli.

Snímek obrazovky okna konfigurace zobrazujícího správce v poli Nový název role a je zvýrazněný červenou šipkou.

Klikněte na tlačítko Zpět a potom klikněte na odkaz Vytvořit uživatele na levé straně.

snímek obrazovky s webem konfigurace zobrazující oddíl Uživatelé a zvýrazněný odkaz Vytvořit uživatele v červeném obdélníku

Vyplňte pole s informacemi o uživateli vlevo pomocí následujících informací:

pole hodnota
uživatelské jméno Správce
heslo
Potvrďte heslo
e-mailové (všechny e-mailové adresy budou fungovat)
bezpečnostní otázka (bez ohledu na to, co chcete)
Odpověď na zabezpečení (bez ohledu na to, co chcete)

poznámka:

  • V předchozí tabulce bylo heslo vynecháno.
  • Můžete samozřejmě použít jakékoli heslo, které byste chtěli. Výchozí nastavení zabezpečení hesla vyžaduje heslo, které má délku 7 znaků a obsahuje jeden nealnumerický znak.

Vyberte roli Správce pro tohoto uživatele a klikněte na tlačítko Vytvořit uživatele.

Snímek obrazovky webu konfigurace zobrazující oddíl Role s zaškrtnutým políčkem Role správce, zvýrazněným červeným obdélníkem.

V tomto okamžiku by se měla zobrazit zpráva oznamující, že se uživatel úspěšně vytvořil.

snímek obrazovky s webem konfigurace zobrazující zprávu, že vytvoření uživatelského účtu bylo úspěšně dokončeno.

Teď můžete okno prohlížeče zavřít.

Autorizace na základě role

Nyní můžeme omezit přístup k StoreManagerController pomocí atributu [Authorize] a určit, že uživatel musí být v roli Správce pro přístup k jakékoli akci kontroleru ve třídě.

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

Poznámka: Atribut [Authorize] lze umístit na konkrétní metody akcí a také na úrovni třídy Controller.

Když teď přejdete na /StoreManager, otevře se dialogové okno Přihlásit:

Snímek obrazovky webové stránky úložiště hudby zobrazující dialogové okno přihlášení s textovými poli uživatelského jména a hesla

Po přihlášení pomocí nového účtu správce můžeme přejít na obrazovku Upravit album stejně jako předtím.