AspNet.sk     Diskusné fóra     Vitajte v QuickStarts     ASP.NET     Silverlight     Ako môžem...? (en)     Class prehliadač Príklady chcem v ...   
Menu
Skip Navigation Links.
Späť na ASP.NET príručku

ASP.NET QuickStart Príručka

Autorizácia používateľov a rolí

Autorizácia v ASP.NET sa používa na riadenie prístupu klienta ku URL zdrojom. V metóde HTTP sa dá nastaviť aby vykonala žiadosť (GET alebo POST), ktorá sa dá nastaviť tak, aby povolila alebo zakázala prístup ku zdrojom pre skupiny používateľov alebo roly. Nasledujúci príklad ukazuje povolenie prístupu pre používateľa nazvaného someone a pre rolu nazvanú Admins. Ďalší používatelia majú zakázaný prístup.
<authorization>
    <allow users="someone@www.contoso.com" />
    <allow roles="Admins" />
    <deny users="*" />
</authorization>
Povolené elementy pre autorizačné direktívy sú buď allow alebo deny. Každý element allow alebo deny musí obsahovať atribút users alebo roles. Určení môžu byť viacerí používatelia resp. viaceré roly, ktoré sú definované jediným elementom obsahujúcim čiarkami oddelený zoznam.

<allow users="John,Mary" />

HTTP metóda môže byť indikovaná použitím atribútu Verb:

<allow VERB="POST" users="John,Mary" />
<deny VERB="POST" users="*" />
<allow VERB="GET" users="*" />
Uvedený príklad povolí Mary a Johnovi použiť POST na chránené zdroje, kým ostatným povoľuje len použitie metódy GET

Sú dve špeciálne používateľské mená:

UserName Description
* All users
? Anonymous (unauthenticated) users


Špeciálne mená sa bežne používajú aplikáciami, ktoré používajú autentizáciu založenú na formách na zakázanie prístupu neautentizovaným používateľom, ako je ukázané v nasledujúcom príklade:

<authorization>
    <deny users="?" />
</authorization>
URL autorizácia sa počita hierarchicky a pravidlá, ktoré určujú prístup sú nasledovné:
  • Pravidlá relevantné pre URL sa zbierajú cez celú hierarchiu a konštruuje sa zlúčený zoznam pravidiel.
  • Pravidlá použité nedávno sú umiestnené na vrchol zoznamu. To znamená, že konfigurácia v aktuálnom adresári je na vrchole zoznamu nasledovaný konfiguráciou bezprostredného rodiča, až po vrcholovú úroveň stromu.
  • Pravidlá sa porovnávajú až kým nie je nájdená zhoda. Ak je zhodné pravidlo povolené, volanie je autorizované
To znamená, že aplikácie, ktoré nemajú záujem dediť konfiguráciu, si musia konfigurovať všetky relevantné možnosti samy.

Štandardné nastavenie v konfiguračnom súbore stroja je povoliť prístup všetkým používateľom. Ak aplikácia nedefinuje ináč, prístup je povolený.

Keď sú kontrolované roly, URL autorizácia efektívne prechádza zoznamom konfigurovaných rolí a vykonáva postup, ktorý vyzerá podobne, ako uvedený pseudokód:


If User.IsInRole("ConfiguredRole") Then
  ApplyRule()
End If
VB

Pre Vašu aplikáciu to znamená, že používate vlastnú triedu, ktorá implementuje rozhranie System.Security.Principal.IPrincipal na poskytnutie vlastného sémantického mapovania rolí, ako je vysvetlené v článku Windows autentifikácia.

Nasledujúci príklad používa služby autentifikácie založenej na formách. Explicitne zakazuje prístup pre anonymných používateľov a pre používateľa someone@www.contoso.com. Skúste sa prihlásiť k aplikácii príkladu s Username="someone@www.contoso.com" a Password="password". Prístup bude zamietnutý a budete presmerovaný späť na prihlasovaciu stránku. Teraz sa prihláste pomocou údajov: Username="someone.else@www.contoso.com" a Password="password". Prístup Vám bude povolený.

VB Forms-Based/Cookie Authentication with URL Authorization
Run Sample View Source
Microsoft .NET Framework SDK QuickStart Tutorials Version 2.0
Copyright © 2005 Microsoft Corporation. All rights reserved.
Preklad do slovenského jazyka - Copyright © 2005 - 2007 www.aspnet.sk, www.qsh.sk
Pošlite komentár k tejto stránke
Copyright © 2002 - 2008 Chastia, spol. s r. o., Igor Stanek, Designed by Lacino
Portál je hostovaný na serveroch firmy Quantasoft - www.qsh.sk.