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

Autentifikácia a autorizácia

ASP.NET pracuje v súčinnosti s IIS na zabezpečenie autentifikácie použitím základnej, digest a windows autentifikácie. ASP.NET podporuje Microsoft Passport authentication service, ktorá poskytuje služby naviazania (sign-on) a podporu pre služby používateľského profilu. ASP.NET zároveň poskytuje robustnú službu pre aplikácie, ktoré používajú autentifikáciu založenú na formách. Uvedená autentifikácia používa cookies na overenie identity používateľov a umožňuje aplikácii vykonať vlastnú verifikáciu prihlasovacích údajov.

Je dôležité uvedomiť si, že autentizačné služby ASP.NET sú podriadené autentizačným službám poskytnutým IIS. Na príklad, aby ste mohli použiť základnú autentifikáciu v IIS aplikácii, musíte nastaviť použitie základnej autentifikácie prostredníctvom Internet Service Manager tool.

ASP.NET poskytuje dva typy autorizačných služieb:

  • Porovnanie oproti ACL alebo oproti povoleniam na daný zdroj, aby sme zistili, či prihlásený používateľ môže k nemu pristúpiť.
  • URL autorizácia, ktorá autorizuje identitu pre časti webového priestoru (stránky)
Predstavte si scenár, v ktorom je aplikácia nastavená na použitie anonymného prístupu použitím konta IUSR_MYMACHINE. Keď sa autorizuje požiadavka na ASP.NET stránku (ako napr. "/default.aspx"), robí sa kontrola oproti ACL daného súboru (napríklad, "c:\inetpub\wwwroot\default.aspx"), aby sa overilo, či má účet IUSR_MYMACHINE právo čítať daný súbor. Ak ho má, prístup je autorizovaný. Ak sa webový obsah nachádza na NTFS disku a Windows Authentication je konfigurovaná pre použitie virtual directory, autorizácia súborov sa vykonáva automaticky.

V rámci URL autorizácie sa anonymný používateľ porovnáva oproti konfiguračným údajom ASP.NET aplikácie. Ak je prístup povolený pre dané URL, požiadavka je autorizovaná. V uvedenom prípade, sa porovnáva, či má anonymný používateľ prístup ku /Default.aspx (porovnanie sa vykonáva oproti URL, nie oproti súboru ktorý je reprezentovaný daným URL po vyhodnotení).

Môže sa zdať, že ide o malý rozdiel, ktorý ale umožní aplikácii použiť autentizačné schémy akou je autentifikácia založená na formách alebo Passport autentifikácia, v ktorej používateľ nezodpovedá kontu na stroji ani doménovému kontu. Zároveň umožňuje autorizáciu oproti virtuálnym zdrojom, pre ktoré neexistuje fyzický súbor. Na príklad, aplikácia môže mapovať všetky volania na súbory končiace príponou .stk na handler, ktorý obsluhuje ceny akcií založené na premenných v query string-u. V takomto prípade neexistuje žiadny fyzický .stk súbor, oproti ktorému robiť ACL porovnania, a preto sa používa URL autorizácia na kontrolu prístupu k virtuálnemu prostriedku.

Súborová autorizácia sa vždy vykoná oproti autentizovanému kontu, ktoré je poskytnuté IIS. Ak je povolený anonymný prístup, autorizuje sa oproti kontu anonymous. V opačnom prípade sa použije konto NT. Funguje to presne rovnakým spôsobom ako v ASP.

Súborové ACL sa nastavujú pre daný súbor alebo adresár v záložke Security v obrazovke vlastností Explorer-u. URL autorizácia sa konfiguruje ako súčasť ASP.NET aplikácie a je do detailov opísaná v časti Autorizácia používateľov a rolí.

Aby ste aktivovali autentizačnú službu ASP.NET, musíte nastaviť element <authentication> v konfiguračnom súbore aplikácie. Element môže mať ktorúkoľvek z hodnôt uvedených v nasledujúcej tabuľke.

HodnotaPopis
NoneNie sú aktívne žiadne autentizačné služby ASP.NET. Autentizačné služby IIS sú stále aktívne.
WindowsAutentizačné služby ASP.NET pripájajú WindowsPrincipal (System.Security.Principal.WindowsPrincipal) do aktuálnej žiadosti kvôli autorizácii oproti používateľom a skupinám NT.
FormsAutentizačné služby ASP.NET riadia cookies a smerujú neautentifikovaných používateľov na stránku logon. Forms autentizácia sa často používa v súčinnosti s možnosťou IIS aktivovať anonymný prístup k aplikácii.
PassportAutentizačné služby ASP.NET poskytujú obálku nad službami, ktoré ponúka Passport SDK, ktoré ale musia byť najprv nainštalované na stanici.

Nasledujúci konfiguračný súbor aktivuje autentifikáciu založenú na formách (cookie autentifikácia) pre aplikáciu:

<configuration>
  <system.web>
    <authentication mode="Forms"/>
  </system.web>
</configuration>
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.