INFO: Prehľad zabezpečenia ASP.NET

Preklady článku Preklady článku
ID článku: 306590 - Zobraziť produkty, ktorých sa tento článok týka.
Tento článok odkazuje na nasledujúce Microsoft .net Rámec triedy knižnica priestory názvov:
  • System.Web.Security
  • System.Web.principal
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

SUHRN

Tento článok poskytuje Úvod do ASP.NET zabezpečenia.

Pre ďalšie ASP.NET prehľady, byť Článok databázy Microsoft Knowledge Base:
305140 INFO: ASP.NET plán

DALSIE INFORMACIE

ASP.net vám dáva väčšiu kontrolu zaviesť bezpečnostné pre vaša žiadosť. ASP.net zabezpečenia funguje v spojení s Microsoft Internet Information Services Zabezpečenia (IIS) a zahŕňa overenie a povolenie služby implementovať model zabezpečenia ASP.NET. ASP.net tiež zahŕňa, role-based Funkcia zabezpečenia, ktoré môžu vykonávať pre Microsoft Windows a Windows používateľské kontá.

Tento článok je rozdelený takto oddiely:

Tok bezpečnosti so žiadosťou

Nasledovné kroky vysvetľujú sled udalostí, keď klient podáva žiadosť:
  1. Klient požaduje .aspx stránku, ktorá sa nachádza na IIS Server.
  2. Klienta poverenia sa k službe IIS.
  3. IIS overuje klienta a dopredu overené token spolu s klienta žiadosť procesu pracovník ASP.NET.
  4. Založené na overené token z IIS a konfiguračným nastaveniam pre webovú aplikáciu, ASP.NET rozhodne či vydávanie sa za používateľa na vlákno, ktoré spracúva žiadosť. V zvláštnu rozdiel medzi Microsoft stránky ASP (Active Server) a ASP.NET, ASP.NET žiadne už impersonates overený používate? predvolene. Umožniť zosobnenie, musíte nastaviť atribút Zosobniť totožnosti sekcie v súbore Web.config TRUE.
Ďalšie informácie o bezpečnosti toku, označovať Nasledujúca téma v .net rámec Software Development Kit (SDK) dokumentácia:
ASP.net dátový tok
.aspx http://msdn.Microsoft.com/en-us/library/xa68twcb (vs.71)
Ďalšie informácie o vydáva v ASP.NET, kliknutím na nasledujúce číslo článku publikovaného v Microsoft Knowledge Base:
306158 INFO: Vykonávanie zosobnenie v aplikácia programovacej technológie ASP.NET

Súvisiace konfigura?né nastavenia

IIS tvrdí bezpečnostné nastavenia v IIS metabázy. Avšak ASP.NET tvrdí zabezpečenia (a iné) konfigurácia nastavenia v konfiguračných súboroch Extensible Markup Language (XML). Hoci to vo všeobecnosti zjednodušuje zavedenie vašej žiadosti od zábezpeky hľadiska, model zabezpečenia, ktorý žiadosť prijme, si vyžaduje správnu konfiguráciu metabázy IIS a ASP.NET žiadosť prostredníctvom jeho konfiguračný súbor (Web.config).

Takto Konfigurácia sekcií súvisia s ASP.NET zabezpečenia:

Overenie

Autentifikácia je proces, ktorým získate identifikácie poverenia napríklad meno používateľa a heslo a potvrdiť poverenia proti niektoré orgánu.

ASP.net poskytuje štyri overovanie poskytovatelia:

Overovanie formulárov

Overovanie formulárov, ktoré sa vzťahuje systém v ktoré neoverené žiadosti sú presmerované na formulár Hypertext Markup Language (HTML), v ktorom Používatelia zadajte svoje poverenia. Po užívateľovi poskytuje poverenia a uvádza forme, uplatňovanie overuje žiadosti a problémov systému povolenie lístok vo forme cookie. Tento súbor cookie obsahuje poverenia alebo kľúč k znovu získať totožnosti. Následné žiadosti od prehľadávač automaticky obsahovať cookie.

Ďalšie informácie o Overovanie formulárov, označovať nasledujúcu tému v rámci SDK .net dokumentácia:
Poskytovateľ overovania formuláre
.aspx http://msdn.Microsoft.com/en-us/library/907hb5w9 (vs.71)
Pre overovanie formulárov dodatočné informácie v ASP.NET, kliknite na článok nasledovné číslo článku databázy Microsoft Knowledge Base:
301240 AKO: Implementovať formuláre založené overovania v aplikácii ASP.NET pomocou C# .net

Overovanie systému Windows

V overovanie systému Windows, IIS vykonáva overovanie, a overené token je postúpená procesu pracovník ASP.NET. Výhodou použitia Windows overenie je, že vyžaduje minimálne kódovanie. Možno budete chcieť používať systém Windows overenie zosobniť používateľské konto systému Windows, potvrdzujúci IIS pred predložíte žiadosť na ASP.NET.

Ďalšie informácie o overovanie systému Windows, ktoré sa vzťahujú na nasledujúcu tému v .net Rámec dokumentácii k súprave SDK:
WindowsAuthenticationModule poskytovateľa
.aspx http://msdn.Microsoft.com/en-us/library/907hb5w9 (vs.71)

Pas Authentication

Pas autentifikácia je centralizované overovacej služby, ktorých Microsoft poskytuje, ktoré ponúka jednotný prihlasovať a kľúčových profil služby pre členom lokalít. Zvyčajne sa používa pas overovania, keď potrebujete jediný denník o schopnosti viac doménach.

Pre viac informácie o pas overovania, označovať nasledujúcu tému v Dokumentácia .net rámec SDK:
Poskytovateľ overovania služby Passport
.aspx http://msdn.Microsoft.com/en-us/library/f8e50t0f (vs.71)

Predvolené Authentication

Predvolené overovanie sa používa, keď nechcete, aby sa záruky na webovú aplikáciu; anonymný prístup požaduje táto zábezpeka poskytovateľ. Medzi všetkými poskytovateľmi overovania, predvolené poskytuje maximálny výkon pre vašu aplikáciu. Tento poskytovateľ overovania je tiež zvyknutí, keď používate vlastné vlastné ochranný modul.

Povolenia

Povolenie je proces, ktorý overí ak overené používateľ má prístup k požadovanej zdrojov.

ASP.net ponúka tieto poskytovateľov povolenie:

FileAuthorization

Trieda FileAuthorizationModule vykonáva súbor povolenia a pôsobí pri použití Overovanie systému Windows. FileAuthorizationModule je zodpovedný za vykonávanie kontrol na riadenie prístupu systému Windows Zoznamy zoznamy (ACL) na určenie, či používateľ by mali mať prístup.

UrlAuthorization

Trieda UrlAuthorizationModule vykonáva Uniform Resource Locator (URL) povolenia, ktoré kontroluje povolenia, ktoré sú založené na priestor názvov URI. Priestory názvov URI môže byť úplne odlišný od fyzického priečinka a súboru cesty tohto povolenia NTFS použitie.

UrlAuthorizationModule implementuje oboch pozitívnych a negatívnych povolenie tvrdenia; čiže, môžete použiť modul na selektívne povoliť alebo zakázať prístup k svojvoľné častí priestoru názvov URI pre používateľov, úlohy (ako je napríklad správca, testerov a správcov), a slovesá (napríklad GET alebo POST).

Pre Ďalšie informácie o povolení v ASP.NET označovať nasledujúcu tému v dokumentácii .net rámec SDK:
ASP.net povolenia
.aspx http://msdn.Microsoft.com/en-us/library/wce3kxhd (vs.71)

Zabezpečenie založené na úlohu

Role-based bezpečnosti v ASP.NET je podobný role-based zabezpečenia, používajúce Microsoft COM + a Microsoft transakcie Server (MTS), Hoci existujú dôležité rozdiely. Role-based bezpečnosti v ASP.NET nie je obmedzené na Windows kontá a skupiny. Napríklad, ak overovanie systému Windows a zosobnenie zapnutá, totožnosti používateľa je Windows totožnosti (User.Identity.Name = "Doména\meno_používateľa"). Môžete skontrolovať identít pre členstvo v osobitnej úlohy a preto obmedziť prístup. Pre Príklad:

Kód jazyka Visual Basic .net
If User.IsInRole("BUILTIN\Administrators") Then
   Response.Write("You are an Admin")
Else If User.IsInRole("BUILTIN\Users") then
   Response.Write("You are a User")
Else
   Response.Write("Invalid user")
End if
				
Visual C# .net kód
if ( User.IsInRole("BUILTIN\\Administrators"))
   Response.Write("You are an Admin");
else if (User.IsInRole("BUILTIN\\Users"))
   Response.Write("You are a User");
else
   Response.Write("Invalid user");
				
Ak používate overovanie formulárov, úlohy nie sú priradené overené užívateľa; musíte tak urobiť pomocou programovania. Priradenie úlohy overený užívateľ, použiť udalosť OnAuthenticate overovania modulu (čo je formuláre Authentication Modules v tomto príklade) vytvoriť nový objekt GenericPrincipal a priradiť vlastnosť User HttpContext. Nasledujúci kód ilustruje toto:

Kód jazyka Visual Basic .net
Public Sub Application_AuthenticateRequest(s As Object, e As EventArgs)
   If (Not(HttpContext.Current.User Is Nothing)) Then
      If HttpContext.Current.User.Identity.AuthenticationType = "Forms" Then
         Dim id as System.Web.Security.FormsIdentity = HttpContext.Current.User.Identity
         Dim myRoles(3) As String
         myRoles(0)= "managers"
         myRoles(1)= "testers"
         myRoles(2)= "developers"
         HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(id,myRoles) 
      End If
   End If
End Sub
				
Visual C# .net kód
public void Application_AuthenticateRequest(Object s, EventArgs e)      
{
   if (HttpContext.Current.User != null)
   {
      if (HttpContext.Current.User.Identity.AuthenticationType == "Forms" ) 
      {
         System.Web.Security.FormsIdentity id = HttpContext.Current.User.Identity;
         String[] myRoles = new String[3];
         myRoles[0]= "managers";
         myRoles[1]= "testers";
         myRoles[2]= "developers";
         HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(id,myRoles);
      }
   }
} 
				
Kontrola, či používateľ špecifickú úlohu a obmedziť prístup preto, použite nasledujúci kód (alebo podobných) pomocou .aspx stránky:

Kód jazyka Visual Basic .net
If User.IsInRole("managers") Then
   Response.Write("You are a Manager")
Else If  User.IsInRole("testers") Then
   Response.Write("You are a Tester")
Else If User.IsInRole("developers") Then
   Response.Write("You are a Developer")
End if
				
Visual C# .net kód
if (User.IsInRole("managers"))
   Response.Write("You are a Manager");
else if (User.IsInRole("testers"))
   Response.Write("You are a Tester");
else if (User.IsInRole("developers"))
   Response.Write("You are a Developer");
				
Ďalšie informácie nájdete v článku nasledovné číslo článku databázy Microsoft Knowledge Base:
306238 AKO: Implementovať, Role-Based zabezpečenia s overovanie na základe formulárov v aplikácii ASP.NET pomocou nástroja Visual Basic .net
Ďalšie informácie o role-based bezpečnosti, na nasledujúcu tému v dokumentácii .net rámec SDK:
Zabezpečenie založené na úlohu
.aspx http://msdn.Microsoft.com/en-us/library/52kd59t0 (vs.71)

ODKAZY

Informácie o ASP.NET bezpečnostné usmernenia, pozri nasledujúce MSDN bielej knihe:
Overovanie v ASP.NET: .net bezpečnostné usmernenia
http://msdn.Microsoft.com/en-us/library/ms978378.aspx
Všeobecnejšie informácie o ASP.NET, nasledujúce diskusnej skupiny MSDN:
Microsoft.public.dotNET.Framework.aspnet
Ďalšie informácie nájdete v článku čísla článkov databázy Microsoft Knowledge Base:
311094 Chyba: "ConfigurationException" chybové hlásenie pri Impersonated účtov čítanie Configuration
306359 PRB: Request.ServerVariables("LOGON_USER") vráti prázdny reťazec v ASP.NET
313091 AKO: Vytvoriť kľúče pomocou nástroja Visual Basic .net na použitie v overovanie formulárov
313116 PRB: Požiadavky na overenie formulárov, nie sú zamerané na loginUrl stránku
Ďalšie informácie nájdete v nasledujúcich knihách:
Reilly, Douglas J. Navrhovanie aplikácie Microsoft ASP.NET. Microsoft Press, 2001.

Esposito, Dino.Stavebné webové riešenia s ASP.NET a ADO.NET. Microsoft Press, 2001.

Vlastnosti

ID článku: 306590 - Posledná kontrola: 28. júna 2012 - Revízia: 3.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
Kľúčové slová: 
kbproductlink kbarttyperoadmap kbconfig kbinfo kbsecurity kbweb kbmt KB306590 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem: 306590

Odošlite odozvu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com