Sdílet prostřednictvím


Část 7: Členství a ověřování

Jon Galloway

MVC Music Store je kurzová 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 vytvoření ukázkové aplikace ASP.NET MVC Music Store. Část 7 se zabývá členstvím a autorizací.

Náš kontroler Store Manageru je v současné době přístupný komukoli, kdo navštíví náš web. Pojďme to změnit tak, aby se omezila oprávnění na správce webu.

Přidání kontroler účtů a zobrazení

Jedním z rozdílů mezi úplnou šablonou webové aplikace ASP.NET MVC 3 a šablonou ASP.NET MVC 3 Prázdná webová aplikace je, že prázdná šablona neobsahuje kontroler účtů. Správce účtu přidáme 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. Kopírování souboru AccountController.cs v adresáři Controllers
  2. Kopírování Modelů účtů v adresáři Models
  3. Vytvořte adresář account v adresáři Views a zkopírujte všechna čtyři zobrazení v adresáři.

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

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

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

Snímek obrazovky s podoknem Průzkumník řešení se zvýrazněnou tečkou C S, Modely účtů tečkou CS a soubory ve složce / Účet /

Přidání správce s lokalitou konfigurace ASP.NET

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

Kliknutím na ikonu v Průzkumník řešení spusťte web ASP.NET Configuration.

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

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

Snímek obrazovky konfiguračního webu zobrazující oddíl Role a odkaz Povolit role zvýrazněný červeným obdélníkem

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

Snímek obrazovky konfiguračního webu zobrazující část Role a odkaz Vytvořit nebo spravovat role zvýrazněný červeným obdélníkem

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

Snímek obrazovky s oknem konfigurace zobrazujícím správce v poli Nový název role a zvýrazněnou červenou šipkou

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

Snímek obrazovky konfiguračního webu s oddílem Uživatelé a odkazem Vytvořit uživatele zvýrazněným červeným obdélníkem

Pole s informacemi o uživateli na levé straně vyplňte pomocí následujících informací:

Pole Hodnota
Uživatelské jméno Správce
Heslo heslo123!
Potvrzení hesla heslo123!
E-mail (bude fungovat jakákoli e-mailová adresa)
Bezpečnostní otázka (cokoliv se vám líbí)
Odpověď zabezpečení (cokoliv se vám líbí)

Poznámka: Samozřejmě můžete použít libovolné heslo. Výchozí nastavení zabezpečení hesla vyžaduje heslo, které má délku 7 znaků a obsahuje jeden jiný než alfanumerický znak.

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

Snímek obrazovky konfiguračního webu s oddílem Role se zaškrtávacím políkem Role a zaškrtnutým a zvýrazněným červeným obdélníkem

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

Snímek obrazovky konfiguračního webu se zprávou, že se vytvoření uživatelského účtu úspěšně dokončilo

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, aby měl 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í i na úrovni třídy Controller.

Když teď přejdete na /StoreManager, zobrazí se dialogové okno Přihlášení:

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

Po přihlášení pomocí našeho nového účtu správce můžeme přejít na obrazovku Úpravy alba jako předtím.