Část 7: Členství a ověřování
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:
- Kopírování souboru AccountController.cs v adresáři Controllers
- Kopírování Modelů účtů v adresáři Models
- 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:
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.
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.
Klikněte na odkaz Vytvořit nebo spravovat role.
Jako název role zadejte "Správce" a stiskněte tlačítko Přidat roli.
Klikněte na tlačítko Zpět a pak klikněte na odkaz Vytvořit uživatele na levé straně.
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! |
(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.
V tomto okamžiku by se měla zobrazit zpráva oznamující, že uživatel byl úspěšně vytvořen.
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í:
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.