× Aktuálně z oboru

SHIELD Experience Upgrade 7 – méně hledání a více zábavy [ clanek/2018052902-shield-experience-upgrade-7-mene-hledani-a-vice-zabavy/ ]
Celá zprávička [ clanek/2018052902-shield-experience-upgrade-7-mene-hledani-a-vice-zabavy/ ]

Autentizace a autorizace v ASP.NET

[ http://programujte.com/profil/14350-ladislav-janecek/ ]Google [ ?rel=author ]       [ http://programujte.com/profil/14523-martin-simecek/ ]Google [ ?rel=author ]       11. 2. 2009       24 310×

Autentizaci a autorizaci uživatelů, registraci a stránky s omezeným přístupem jednoduše vytvoříme ve vývojovém studiu Microsoft Visual Studio Web Developer.

Úvod

Pomocí vývojového studia Visual Studio Web Developer není problém vytvořit autentizaci a autorizaci uživatelů. Vytvoříme si registrační formulář, autentizační formulář a stránku s omezeným přístupem. Na tuto stránku budou mít přístup jen uživatelé, kteří jsou zaregistrovaní a přihlášení.

Vytvoření autorizace a autentizace

Předpokládejme tedy, že používáte zmiňované vývojové studio. Vytvořte nový projekt Empty Web Site, pojmenujte ho třeba „autentizace_a_autorizace“. Nyní vytvořte nový soubor Web Configuration File a pojmenujte ho explicitně Web.Config. Potom v něm najděte tag authentication, kde přepište v parametru mode hodnotu Windows na Forms. Ještě musíme nastavit stránku pro autorizaci, to znamená, že návštěvník, který se bude chtít dostat na stránku, na kterou nemá přístup, bude odkázán na přihlašovací formulář - u nás na hlavní stránku. Kód tedy vypadá takto:

    <authentication mode="Forms">
      <forms loginUrl="~/Default1.aspx"/>
    </authentication>

Teď musíme vytvořit nějaké stránky. Vytvoříme tedy tři nové stránky s jakýmkoliv názvem. Na první umístíme komponentu LoginView. Do této komponenty (v módu Anonymous Template což znamená, že není autentizován žádný uživatel) napíšeme například: „Nejste přihlášen“. Nyní přepneme do módu LoggedIn Template a sem vložíme další dvě komponenty: LoginStatus a LoginName. Komponenta LoginStatus je pro přihlášení a následné odhlášení uživatele a LoginName zobrazuje jméno autentizovaného uživatele. Samozřejmostí je také to, že můžeme všechny tyto komponenty lokalizovat do českého jazyka a libovolnými styly upravovat.

Na stránku musíme vložit taky formulář pro přihlášení, ten zastává neočekávaně pojmenovaná komponenta Login. Dále vložíme ještě odkaz na stránku s registračním formulářem.

Zdrojový kód

<asp:LoginView ID="LoginView1" runat="server">
  <AnonymousTemplate>
    Nejste přihlášen
  </AnonymousTemplate>
  <LoggedInTemplate>
    <asp:LoginStatus ID="LoginStatus1" runat="server" />
     | Vítejte:
    <asp:LoginName ID="LoginName1" runat="server" />
  </LoggedInTemplate>
</asp:LoginView>
<br /> <br />
<asp:Login ID="Login1" runat="server">
</asp:Login>
<br />
<a href="Default2.aspx">Nový uživatel</a>

Na další stránku, u mě pojmenovanou „Default2.aspx“, vložíme komponentu CreateUserWizard. Tato komponenta slouží k vytvoření nového uživatele. Chtěl bych upozornit, že podmínka pro heslo (tedy „one nonalphanumeric char“) znamená jeden znak, který není číslice ani písmeno, tedy většinou nepovolené znaky. Při dokončení registrace přesměrujeme uživatele na hlavní stránku - přejdeme tedy z režimu Sign up for Your new do režimu Complete. Zde změníme v Properties okénku parametr ContinuedDestinationPageUrl na „Default.aspx“, tedy odkážeme při dokončení registrace na hlavní stránku. Zdrojový kód vytvořené stránky by měl zatím vypadat takto:

       <asp:CreateUserWizard ID="CreateUserWizard1" runat="server" ActiveStepIndex="1" ContinueDestinationPageUrl="Default.aspx">
            <WizardSteps>
                <asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server">
                </asp:CreateUserWizardStep>
                <asp:CompleteWizardStep ID="CompleteWizardStep1" runat="server">
                </asp:CompleteWizardStep>
            </WizardSteps>
        </asp:CreateUserWizard>

To je pro „Default2.aspx“ vše. Nyní si spusťte naši webovou aplikaci klávesou „F5“ a zkuste se zaregistrovat, přihlásit atd. Pokud jste postupovali stejně jako já, vše by vám mělo fungovat, jak jsem sliboval.

Nyní vytvoříme novou složku „autorizovani“ a přesuneme do ní třetí, a poslední, stránku, tedy „Default3.aspx“. Na hlavní stránku vložíme odkaz na „Default3.aspx“ a do tohoto souboru přidáme odkaz na hlavní stránku „Default.aspx“. Teď - ve vývojovém studiu nahoře je záložka Website. Zde klikněte na položku ASP.NET Configuration. Otevře se vám webová stránka, kde se dá dělat spoustu věcí (mimo jiné například spravovat účty atd.), my ovšem musíme přiřadit složce „autorizovani“ práva pro přístup. To učiníme tak, že klikneme na záložku „Zabezpečení“ a poté na odkaz „vytvořit pravidla přístupu“. Zde zvolíme složku „autorizovani“, přepneme pravidlo pro „anonymní“ a oprávnění dáme „odepřít“. Pak už jen klikneme na tlačítko „OK“ a zavřeme stránku. Nyní znova spusťte naši webovou aplikaci a zkuste kliknout na odkaz, vše by mělo fungovat.


Článek stažen z webu Programujte.com [ http://programujte.com/clanek/2009020600-autentizace-a-autorizace-v-asp-net/ ].