Momentan sunteți offline, așteptați să vă reconectați la internet

INFO: Prezentare generală a securitate ASP.NET

IMPORTANT: Acest articol este tradus cu ajutorul software-ului Microsoft de traducere automată și poate fi corectat prin intermediul tehnologiei Community Translation Framework (CTF). Microsoft oferă articole traduse automat, post-editate de comunitate și articole traduse de oameni, pentru a permite accesul la toate articolele din Baza noastră de cunoștințe în mai multe limbi. Articolele traduse automat și post-editate pot conține greșeli de vocabular, sintaxă și/sau gramatică. Microsoft nu este responsabil de inexactitățile, erorile sau daunele cauzate de traducerea greșită a conținutului sau de utilizarea acestuia de către clienți. Găsiți mai multe informații despre traducerea în colaborare la http://support.microsoft.com/gp/machine-translation-corrections/ro.

Faceți clic aici pentru a vizualiza versiunea în limba engleză a acestui articol: 306590
Acest articol se referă la următoarele Microsoft bibliotecă de clase .NET Framework spațiilor de nume:
  • System.Web.Security
  • System.Web.Principal
Rezumat
Acest articol oferă o introducere în securitate ASP.NET.

Pentru prezentări ASP.NET suplimentare, consultaţi următorul articol din baza de cunoștințe Microsoft:
305140 INFO: Strategia de ASP.NET
Informaţii suplimentare
ASP.NET vă oferă mai mult control implementează securitatea pentru aplicația. Securitate ASP.NET lucrează împreună cu Microsoft Internet Information Services (IIS) securitate și include consolidare servicii de autentificare și autorizare pentru a implementa modelul de securitate ASP.NET. ASP.NET include, de asemenea, o caracteristică de securitate bazat pe roluri care se poate implementa pentru conturile de utilizator non-Windows și Microsoft Windows.

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

Flux de securitate cu o solicitare

Următorii pași schiță secvența de evenimente atunci când un client face o solicitare:
  1. Un client solicită o pagină .aspx care se află într-o IISserver.
  2. Client acreditările transmise către IIS.
  3. IIS autentifică client şi înainte authenticatedtoken împreună cu solicitarea clientului pentru a procesului de lucru ASP.NET.
  4. Pe simbolul autentificat la IIS și theconfiguration setări pentru aplicația Web, ASP.NET decide dacă toimpersonate un utilizator pe firul care s-a procesat solicitarea. Într-o distinctdifference între Microsoft Active Server Pages (ASP) și ASP.NET, ASP.NET nolonger impresionează utilizator autorizat implicit. Pentru a activa asumare, trebuie să setați atributul simulează secțiunea identitate în fișierul Web.config la true.
Pentru mai multe informații despre fluxul de securitate, consultați următorul subiect în documentația .NET Framework Software Development Kit (SDK): Pentru informații suplimentare despre care simulează în ASP.NET, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
306158 INFO: Implementarea de asumare a într-o aplicaţie ASP.NET
înapoi la început

Setările de configurare asociate

IIS păstrează setările de configurare legate de securitate din metabaza IIS. Cu toate acestea, ASP.NET menţine securitatea (şi alte) setările de configurare în fișierele de configurare Extensible Markup Language (XML). Deși, în general, acest lucru simplifică implementarea aplicația dvs. la un punct de securitate, modelul de securitate pe care aplicația adoptă necesită configurarea corectă atât metabazei IIS și ASP.NET aplicația prin sale fișier de configurare (Web.config).

Următoarele secțiuni de configurare sunt legate de securitate ASP.NET: înapoi la început

Autentificare

Autentificarea este procesul prin care se obține acreditările de identificare, cum ar fi nume de sign-in de utilizator și parola și validarea aceste acreditări împotriva unele autoritate.

ASP.NET oferă patru furnizori de autentificare:

Autentificare formulare

Autentificare formulare se referă la un sistem în care solicitările neautentificat sunt redirecționate într-un formular de Hypertext Markup Language (HTML) în care utilizatorii tastați acreditările. După ce utilizatorul furnizează acreditările și prezintă formularul, aplicația autentifică solicitarea și sistemul probleme legate de un permis de autorizare sub formă de un modul cookie. Acest cookie conține acreditările sau o tastă pentru a reachiziționarea unora identitatea. Solicitări ulterioare din browser include automat modulul cookie.

Pentru mai multe informaţii despre autentificarea de formulare, consultați următorul subiect în documentația .NET Framework SDK: Pentru informații suplimentare despre autentificarea de formulare în ASP.NET, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
301240 CUM se: Implementează Autentificarea bazată pe formulare în aplicația ASP.NET utilizând C# .NET

Autentificare Windows

În Windows authentication, IIS efectuează autentificarea și autentificați simbolul este Redirecționat către procesul de lucru ASP.NET. Avantajul utilizând autentificarea Windows este că necesită minim de codificare. Se recomandă să utilizați autentificarea Windows pentru simulează contul de utilizator Windows IIS autentifică înainte de mână să dezactivați solicitarea ASP.NET.

Pentru mai multe informaţii despre autentificarea Windows, consultați următorul subiect în documentația .NET Framework SDK:

Autentificare Passport

Autentificare Passport este un serviciu de autentificare centralizat, care furnizează Microsoft, care oferă un singur de conecta și consolidare servicii de profil central pentru site-uri de membru. De obicei, se utilizează autentificarea Passport atunci când aveți nevoie unică de conecta capacitatea între mai multe domenii.

Pentru mai multe informaţii despre autentificarea Passport, consultați următorul subiect în documentația .NET Framework SDK:

Autentificare implicit

Autentificare implicit este utilizat atunci când nu doriți orice securitate pe aplicația Web; acces anonim este necesar pentru acest furnizor de securitate. Printre toate furnizori de autentificare, autentificare implicit oferă performanțe maxime pentru aplicația. Acest furnizor de autentificare, de asemenea, este utilizat atunci când utilizaţi propriul modul de securitate particularizate.

înapoi la început

Autorizare

Autorizare este procesul care verifică dacă autentificați utilizatorul are acces la resursele solicitate.

ASP.NET oferă următoarele furnizori de autorizare:

FileAuthorization

Clasa FileAuthorizationModule efectuează autorizare fișierul și este activ, atunci când utilizaţi Windows authentication. FileAuthorizationModule este responsabil cu efectuarea controalelor Windows Access Control listează (ACL-uri) pentru a determina dacă un utilizator trebuie să aibă acces.

UrlAuthorization

Clasa UrlAuthorizationModule efectuează autorizare URL (URL), care controlează autorizare bazate pe spațiul de nume URI. Spaţii de nume URI poate fi destul de diferite de fizic căi foldere și fișiere care utilizează permisiunile NTFS.

UrlAuthorizationModule implementează ambele afirmaţii pozitive şi negative autorizare; puteţi utiliza modulul selectiv permite sau a refuza acorda acces la arbitrare părți din spațiul de nume URI pentru utilizatori, roluri (cum ar fi manager, verificatori și administratorii) și verbele (de exemplu, GET şi POST).

Pentru mai multe informații despre autorizare în ASP.NET, consultați următorul subiect în documentația .NET Framework SDK: înapoi la început

Bazată pe roluri de securitate

Bazată pe roluri de securitate în ASP.NET este similar cu bazată pe roluri de securitate care utilizează Microsoft COM + și Microsoft Transaction Server (MTS), deși există diferențe importante. Nu se limitează la Windows conturile și grupurile de securitate bazat pe roluri în ASP.NET. De exemplu, dacă este activată autentificarea Windows și substituire, identitatea de utilizator este o identitate Windows (User.Identity.Name = "Domeniu\nume utilizator"). Puteţi verifica identitățile pentru calitatea de membru în anumite roluri şi restricţionaţi accesul doar în mod corespunzător. De exemplu:

Visual Basic .NET cod
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 cod
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 autentificarea de formulare, roluri sunt atribuite utilizatorilor autentificați; trebuie să face acest lucru prin programare. Pentru a atribui roluri de utilizatori autentificați, utilizați evenimentul OnAuthenticate modul de autentificare (care este modul de autentificare formulare în acest exemplu) pentru a crea un obiect nou GenericPrincipal și atribuiți-o proprietate de utilizator de HttpContext. Codul următor ilustrează acest lucru:

Visual Basic .NET cod
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 cod
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 anumit rol și restricționa accesul în mod corespunzător, utilizați următorul cod (sau similar) în paginile .aspx:

Visual Basic .NET cod
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 cod
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 următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
306238 CUM se: Implementează bazată pe roluri de securitate cu autentificare bazată pe formulare în aplicația ASP.NET utilizând Visual Basic .NET
Pentru mai multe informații despre bazată pe roluri de securitate, consultați următorul subiect în documentația .NET Framework SDK:
Referinţe
Pentru informații despre indicațiile de securitate ASP.NET, consultați următoarea documentație MSDN:
Autentificare în ASP.NET: ghid de securitate .NET
http://MSDN.Microsoft.com/en-us/library/ms978378.aspx
Pentru informații mai generale despre ASP.NET, consultați următoarele grupuri de știri MSDN: Pentru informații suplimentare, faceți clic pe numerele de articol de mai jos pentru a vedea articolele în baza de cunoștințe Microsoft:
311094 EROARE: "ConfigurationException" mesaj de eroare atunci când contribui conturi configurație de citire
306359 PRB: Request.ServerVariables("LOGON_USER") returnează șir vid în ASP.NET
313091 CUM se: Creaţi chei utilizând Visual Basic .NET pentru utilizare în formulare de autentificare
313116 PRB: Solicitările de autentificare formulare nu sunt direcționat către loginUrl pagina
Pentru mai multe informații, consultați următoarele manuale:
Reilly, Douglas J. Proiectarea stratul aplicaţiilor Microsoft ASP.NET. Microsoft Press, 2001.

Esposito, Dino.Building Web ASP.NET și soluții ADO.NET. Microsoft Press, 2001.

Avertisment: acest articol a fost tradus automat

Proprietăți

ID articol: 306590 - Ultima examinare: 01/25/2015 09:33:00 - Revizie: 2.0

Microsoft ASP.NET 1.0, Microsoft ASP.NET 1.1

  • kbproductlink kbarttyperoadmap kbconfig kbinfo kbsecurity kbweb kbmt KB306590 KbMtro
Feedback