Momentálne ste offline a čaká sa, kým sa znova pripojíte na internet

INFO: Prehľad zabezpečenia ASP.NET

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
Tento článok odkazuje na nasledujúce Microsoft .net Rámec triedy knižnica priestory názvov:
  • System.Web.Security
  • System.Web.principal
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: Ď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
Späť na začiatok

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: Späť na začiatok

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: 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:

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.

Späť na začiatok

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: Späť na začiatok

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 IfEnd 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:
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: Ď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.

Upozornenie: Tento článok bol preložený automaticky.

Vlastnosti

ID článku: 306590 – Posledná kontrola: 06/28/2012 09:19:00 – Revízia: 3.0

Microsoft ASP.NET 1.0, Microsoft ASP.NET 1.1

  • kbproductlink kbarttyperoadmap kbconfig kbinfo kbsecurity kbweb kbmt KB306590 KbMtsk
Pripomienky
ne;" onerror="var m=document.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">