INFORMATII: ASP.NET securitate prezentare generală

Traduceri articole Traduceri articole
ID articol: 306590 - View products that this article applies to.
Acest articol se referă la următoarele Microsoft .net Cadru Biblioteca clasa spații de nume:
  • System.Web.Security
  • System.Web.principal
Măriți totul | Reduceți totul

În această pagină

REZUMAT

Acest articol oferă o introducere ASP.NET securitate.

Pentru suplimentare ASP.NET sumarele detaliate, consultați următorul Articolul din bază de cunoștințe Microsoft:
305140 INFORMATII: ASP.NET foaie de parcurs

INFORMAȚII SUPLIMENTARE

ASP.net vă oferă mai mult control să pună în aplicare pentru securitatea cererea dumneavoastră. Securitate ASP.net lucrează în conjuncție cu Microsoft Internet Information Services Securitate (IIS) și include consolidare servicii autentificare si autorizare pune în aplicare model de securitate ASP.NET. ASP.net include de asemenea un rol bazate pe caracteristică de securitate care le pot pune în aplicare pentru ambele Microsoft Windows și nu-Ferestre user socoteal?.

Acest articol este împăr?ită în următoarele secțiuni:

Fluxul de securitate cu o solicitare

Următorii pași schița succesiunea de evenimente atunci când un client face o cerere:
  1. Un client solicită o pagină aspx care își are reședința pe un IIS serverul.
  2. Acreditări clientului sunt trecut la IIS.
  3. IIS autentifică client și redirecționează autentificate Simbol împreună cu cererea clientului în procesul de lucrător ASP.NET.
  4. Bazat pe simbolul autentificate din IIS și setările de configurare pentru aplicatii Web, ASP.NET decide dacă să dati drept un utilizator pe firul care se procesează solicitarea. Într-un distincte diferența dintre Microsoft Active Server Pages (ASP) și ASP.NET, ASP.NET nu mai impresionează utilizatorul autentificate implicit. Pentru a permite personificare, trebuie să setați atributul dati drept din secțiunea de identitate în fișierul Web.config la true.
Pentru mai multe informații despre fluxul de securitate, consultați următorul subiect în .net cadru Software Development Kit (SDK) documenta?ia referitoare la:
Fluxul acoperire de date ASP.net
http://msdn.Microsoft.com/en-us/library/xa68twcb (vs.71) .aspx
Pentru informații suplimentare despre pretinde în ASP.NET, faceți clic pe următorul număr de articol pentru a vedea articolul în bază de cunoștințe Microsoft:
306158 INFORMATII: Aplicare personificare într-o aplicație ASP.NET

Setările de configurare conexe

IIS menține setările de configurare legate de securitate în IIS metabaza. Cu toate acestea, ASP.NET menține securitatea (și altele) configurare setările în fișierele de configurare Extensible Markup Language (XML). Deși acest lucru în general, simplifică implementarea cererea dumneavoastră de la o garanție punct de vedere, modelul de securitate care adoptă aplicația necesită Configurarea corectă a metabazei IIS ?i ASP.NET aplicație prin sale de configurare fișier (Web.config).

Următorul secțiunile de configurare sunt legate de securitate ASP.NET:

Autentificare

Autentificare este procesul prin care se obține de identificare acreditări cum ar fi nume de sign-in utilizatorului și parola ?i validează aceste acreditări împotriva unor autorită?i.

ASP.net oferă patru autentificare furnizori:

Formulare de autentificare

Autentificare forme se referă la un sistem în care suprasaturat cererile sunt redirecționate într-o formă de Hypertext Markup Language (HTML) în care utilizatorii tastați acreditările. După ce utilizatorul oferă acreditări și prezintă forma, aplicarea autentifică cererea, precum ?i problemele sistemului o autorizarea bilet sub formă de un cookie. Acest modul cookie conține acreditări sau cheia de recucerire identitatea. Cererile ulterioare browser-ul include automat cookie-ul.

Pentru mai multe informații despre Formulare de autentificare, se referă la următorul subiect în SDK cadru .net documenta?ia referitoare la:
Furnizorul de autentificare de formulare
http://msdn.Microsoft.com/en-us/library/907hb5w9 (vs.71) .aspx
Pentru informații suplimentare forme autentificarea în ASP.NET, faceți clic pe articol numărul de mai jos pentru a vedea articolul în bază de cunoștințe Microsoft:
301240 CUM la spre: Implementarea pe bază de formulare autentificarea în aplicația ASP.NET folosind C# .net

Autentificare Windows

La Autentificare Windows, IIS execută autentificare, și simbolul autentificate este transmis la procesul de lucrător ASP.NET. Avantajul folosirii Windows autentificarea este că este nevoie de minim de codificare. Poate doriți să utilizați Windows autentificare a În redare la rolul contul de utilizator Windows care IIS autentifică înainte să o parte afara cererea pentru ASP.NET.

Pentru mai multe informații despre autentificare Windows, se referă la următorul subiect în .net Documentația SDK cadru:
Furnizorul de WindowsAuthenticationModule
http://msdn.Microsoft.com/en-us/library/907hb5w9 (vs.71) .aspx

Pașaport autentificare

Autentificarea pașaport este un serviciu de autentificare centralizat, Microsoft care oferă, care ofera un singur jurnal pe și de bază consolidare servicii de profil pentru site-uri de membru. De obicei, pașaport autentificare este utilizat atunci când aveți nevoie singur jurnal pe capacitatea în mai multe domenii.

Pentru mai multe informații despre autentificarea pașaport, se referă la următorul subiect în Documenta?ia .net cadru SDK:
Pașaport autentificare furnizorul
http://msdn.Microsoft.com/en-us/library/f8e50t0f (vs.71) .aspx

Autentificare implicit

Autentificare implicită este utilizat când nu doriți ca orice garan?ie pe Aplicația Web; accesul anonim este necesară pentru această garan?ie furnizorul de consolidare servicii. Printre toți furnizorii de autentificare, oferă autentificare implicit performanțe maxime pentru cererea dumneavoastră. Acest furnizor de autentificare este, de asemenea utilizat atunci când se utilizează propriul modul de securitate particularizat.

Autorizare

Autoriza?ia este procesul care verifică dacă autentificate utilizatorul are acces la resursele solicitate.

ASP.net oferă furnizori de autorizație următoarele:

FileAuthorization

Clasa FileAuthorizationModule efectuează Fișier autorizația și este activă când utilizați Autentificare Windows. FileAuthorizationModule este responsabil pentru efectuarea de controale privind control acces Windows Listele (ACL-uri) pentru a determina dacă un utilizator trebuie să aibă acces.

UrlAuthorization

Clasa UrlAuthorizationModule îndeplinește autorizarea URL (URL), care controlează autorizația bazate pe spațiul de nume URI. Spațiile de nume URI poate fi destul de diferit de traseele folder și Fișier fizice care permisiunile NTFS utilizați.

UrlAuthorizationModule implementează atât afirmațiile pozitive și negative autorizația; Aceasta înseamnă că puteți utiliza modulul pentru selectiv permite sau a refuza acorda acces la păr?i arbitrară din spațiul de nume URI pentru utilizatori, roluri (cum ar fi managerul, testeri, și administratorii), și verbe (cum ar fi GET și POST).

Pentru mai multe informații despre autorizări în ASP.NET, se referă la următorul subiect în documenta?ia .net cadru SDK:
ASP.net autorizare
http://msdn.Microsoft.com/en-us/library/wce3kxhd (vs.71) .aspx

Securitate bazate pe rol

Securitate bazate pe rol în ASP.NET este similar cu rolul bazate securitate care utilizează Microsoft COM + și Microsoft Transaction Server (MTS), Deși există diferențe importante. Securitate bazate pe rol în ASP.NET nu este limitată la conturile Windows și grupuri. De exemplu, dacă autentificarea Windows și personificare este activată, identitatea utilizatorului este o identitate Windows (User.Identity.Name = "Domeniu umeutilizator"). Puteți verifica identitățile pentru calitatea de membru în roluri specifice ?i poate restric?iona accesul în consecin?ă. Pentru exemplu:

Codul 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
				
Codul Visual C# .net
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");
				
Dacă utilizați forme autentificare, roluri nu sunt asociați utilizator autentificate; trebuie să faceți acest lucru prin programare. Pentru a asocia roluri autentifică utilizatorul, utilizați eveniment OnAuthenticate modulului autentificare (care este formularele modulul de autentificare în acest exemplu) a crea un obiect nou GenericPrincipal și asociați-o în proprietatea utilizator HttpContext. Următorul cod ilustrează Acest lucru:

Codul 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
				
Codul Visual C# .net
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);
      }
   }
} 
				
Pentru a verifica dacă utilizatorul este într-un rol specifice ?i poate restric?iona accesul în consecin?ă, utilizați următorul cod (sau similare) în paginile aspx:

Codul 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
				
Codul Visual C# .net
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");
				
Pentru informații suplimentare, faceți clic pe articol numărul de mai jos pentru a vedea articolul în bază de cunoștințe Microsoft:
306238 CUM la spre: Implementarea bazate pe rol de securitate cu autentificarea bazată pe formulare în cererea dumneavoastră ASP.NET utilizând Visual Basic .net
Pentru mai multe informații despre securitate bazat pe roluri, consultați la următorul subiect în documentația SDK cadru .net:
Securitate bazate pe rol
http://msdn.Microsoft.com/en-us/library/52kd59t0 (vs.71) .aspx

REFERINȚE

Pentru informații privind orientările de securitate ASP.NET, consultați Cartea albă următoarele MSDN:
Autentificare în ASP.NET: orientare securitate .net
http://msdn.Microsoft.com/en-us/library/ms978378.aspx
Pentru informații mai generale despre ASP.NET, se referă la următorul grup de ?tiri MSDN:
Microsoft.public.DotNet.framework.aspnet
Pentru informații suplimentare, faceți clic pe articol numerele de mai jos pentru a vedea articolele în bază de cunoștințe Microsoft:
311094 Bug-ul: Mesaj de eroare „ConfigurationException"când personificat conturi citire configurare
306359 PRB: Request.ServerVariables("LOGON_USER") Returns șir gol în ASP.NET
313091 CUM sa: Creați taste utilizând Visual Basic .net pentru utilizare în forme autentificare
313116 PRB: Formulare autentificare cererile nu sunt îndreptate spre loginUrl pagina
Pentru mai multe informații, consultați următoarele cărți:
Reilly, Douglas J. Proiectarea aplicații Microsoft ASP.NET. Microsoft Press, 2001.

Esposito, Dino.Solutii de Web clădirii cu ASP.NET și ADO.NET. Microsoft Press, 2001.

Proprietă?i

ID articol: 306590 - Ultima examinare: 28 iunie 2012 - Revizie: 1.0
SE APLICĂ LA:
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
Cuvinte cheie: 
kbproductlink kbarttyperoadmap kbconfig kbinfo kbsecurity kbweb kbmt KB306590 KbMtro
Traducere automată
IMPORTANT: Acest articol a fost tradus de software-ul de traducere automată Microsoft, si nu de un traducător. Microsoft vă oferă atât articole traduse de persoane, cât și articole traduse automat, astfel incat aveti access la toate articolele din Baza noastră de informatii în limba dvs. materna. Totuși, un articol tradus automat nu este întotdeauna perfect. Acesta poate conține greșeli de vocabular, sintaxă sau gramatică, la fel cum un vorbitor străin poate face greșeli vorbind limba dvs. materna. Compania Microsoft nu este responsabilă pentru nici o inexactitate, eroare sau daună cauzată de traducerea necorespunzătoare a conținutului sau de utilizarea traducerii necorespunzătoare de către clienții nostri. De asemenea, Microsoft actualizează frecvent software-ul de traducere automată.
Face?i clic aici pentru a vizualiza versiunea în limba engleză a acestui articol: 306590

Trimite?i feedback

 

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