Autentizace a autorizace v ASP.NET
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

Autentizace a autorizace v ASP.NETAutentizace a autorizace v ASP.NET

 

Autentizace a autorizace v ASP.NET

Google       Google       11. 2. 2009       16 421×

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.

Reklama
Reklama

Ú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.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Ladislav JanečekAutor se zajímá o ASP.NET, ADO.NET, AJAX a C#. Nově přirostl autorovi k srdci Wordpress, PHP, AJAX? jQuery, webdesign a tvorba stránek celkově.
Web     Twitter     Facebook     LinkedIn    

Nové články

Obrázek ke článku Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres HCPP16 pořádá od 30. září do 2. října nezisková organizace Paralelní Polis již potřetí, a to ve stejnojmenném bitcoinovém prostoru v pražských Holešovicích. Letos přiveze na třídenní konferenci přes 40 většinou zahraničních speakerů – lídrů z oblastí technologií, decentralizované ekonomiky, politických umění a aktivismu. Náměty jejich přednášek budou také hacking, kryptoměny, věda, svoboda nebo kryptoanarchie.

Reklama
Reklama
Obrázek ke článku ICT PRO školení zaměřené nejenom na ICT

ICT PRO školení zaměřené nejenom na ICT

Dovolte, abychom se představili. Jsme zaměstnanci společnosti ICT Pro, profesionálové v oblasti poskytování komplexních ICT služeb. Neboli služeb spojených s informačními a komunikačními technologiemi, které dnes - ve 21. století - tvoří  nedílnou součást běžného provozu všech moderních firem.

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý