INFO: PROSTŘEDÍ ASP.NET Přehled zabezpečení

Překlady článku Překlady článku
ID článku: 306590 - Produkty, které se vztahují k tomuto článku.
Tento článek se týká následujících společnosti Microsoft.NET Rámec oborů názvů knihovny tříd:
  • System.web.Security
  • System.web.Principal
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek obsahuje úvod do prostředí ASP.NET zabezpečení.

Pro další prostředí ASP.NETTO přehledy, naleznete v následujících Článek znalostní báze Microsoft Knowledge Base:
305140 INFO: PROSTŘEDÍ ASP.NET, přehled

Další informace

PROSTŘEDÍ ASP.NET poskytuje větší možnosti implementace zabezpečení aplikace. PROSTŘEDÍ ASP.NET zabezpečení funguje ve spojení s Internetová informační služba Zabezpečení (IIS) a obsahuje služby ověřování a autorizace Implementujte ASP.Model zabezpečení sítě. PROSTŘEDÍ ASP.SÍŤ zahrnuje také základě rolí funkce zabezpečení, která je možné implementovat i systému Microsoft Windows a účty uživatelů systému Windows.

Tento článek je rozdělen do následujících oddíly:

Tok zabezpečení s požadavkem

Následující kroky popisují posloupnosti událostí, pokud klient vytvoří požadavek:
  1. Klient požaduje stránku ASPX, která je umístěna na Internetové informační služby Server.
  2. Pověření klienta jsou předány do služby IIS.
  3. Služba IIS ověří klienta a předává ověřeného Token spolu s požadavek klienta prostředí ASP.ČISTÉ pracovní proces.
  4. Na základě ověřených token služby IIS a nastavení konfigurace pro webové aplikace ASP.NET rozhodne, zda zosobnění uživatele v podprocesu, který je zpracování požadavku. V samostatnou rozdíl mezi Microsoft Active Server Pages (ASP) a ASP.NET (ASP).NET č již zosobňuje ověřeného uživatele ve výchozím nastavení. K povolení zosobnění je nutné nastavit zosobnit atribut identity oddílu v souboru Web.config PRAVDA.
Další informace o zabezpečení toku Po téma v.Rozhraní .NET Framework Software Development Kit (SDK) dokumentace:
PROSTŘEDÍ ASP.NET datový tok
http://msdn.microsoft.com/en-us/library/xa68twcb (vs.71) .aspx
Další informace o zosobnění v prostředí ASP.NET, klepněte na číslo v následujícím článku Microsoft Knowledge Base:
306158 INFO: Implementace zosobnění v ASP.NET aplikací

Související nastavení konfigurace

Služba IIS spravuje nastavení týkající se konfigurace služby IIS metabáze. Však ASP.NET udržuje zabezpečení (a jiné) konfigurace nastavení konfiguračních souborů Extensible Markup Language (XML). Ačkoli to obecně zjednodušuje nasazení aplikace zabezpečení hlediska model zabezpečení, který přijme aplikace vyžaduje správné konfigurace metabáze služby IIS a skripty ASP.NET aplikací pomocí konfiguračních souborů (Web.config).

Následující jsou konfigurační oddíly týkající se prostředí ASP.Zabezpečení sítě:

Ověřování

Ověřování je proces, kterým můžete získat identifikace pověření, jako jsou například uživatelské jméno a heslo a ověření těchto pověření některé autority.

PROSTŘEDÍ ASP.NET poskytuje čtyři ověřování zprostředkovatelé:

Ověřování pomocí formulářů

Systém se týká ověřování pomocí formulářů v kterém neověřený formuláře HTML (jazyk HTML), ve kterém jsou požadavky přesměrovány Uživatelé zadejte svá pověření. Poté, co uživatel zadá pověření a odešle formuláře aplikace ověří žádost a problémy systému lístku autorizace ve formě souboru cookie. Tento soubor cookie obsahuje pověření nebo klíč znovu načíst identitu. Následné požadavky prohlížeč automaticky zahrnout soubor cookie.

Další informace o Ověřování pomocí formulářů, naleznete v následujícím tématu v.Rozhraní .NET Framework SDK dokumentace:
Zprostředkovatele ověřování pomocí formulářů
http://msdn.microsoft.com/en-us/library/907hb5w9 (vs.71) .aspx
Pro Další informace o ověřování pomocí formulářů v prostředí ASP.NET, získáte v článku znalostní báze Microsoft Knowledge Base:
301240 JAK: Implementovat založené na formulářích ověřování ve vašem prostředí ASP.NET aplikací pomocí jazyka C#.NET

Ověřování systému Windows

Ověřování systému Windows, služba IIS provádí ověřování, a ASP předá ověřený token.ČISTÉ pracovní proces. Výhodou použití systému Windows ověřování je, že vyžaduje minimální kódování. Můžete chtít používat systém Windows ověření zosobnit uživatelský účet systému Windows, služba IIS ověří než předáte žádost prostředí ASP.NET.

Další informace o ověřování systému Windows, naleznete v následujícím tématu v.NET Dokumentaci Framework SDK:
Zprostředkovatel ověřování
http://msdn.microsoft.com/en-us/library/907hb5w9 (vs.71) .aspx

Ověřování službou Passport

Ověřování služby Passport je centralizovaná ověřovací služba, které společnost Microsoft poskytuje, který nabízí profil služby jednotného přihlášení a základní pro členské servery. Ověřování službou Passport se obvykle používá, když potřebujete jediné přihlášení schopnost v několika doménách.

Další informace informace o ověřování služby Passport, naleznete v následujícím tématu v .NET Framework SDK dokumentace:
Zprostředkovatel ověřování služby Passport
http://msdn.microsoft.com/en-us/library/f8e50t0f (vs.71) .aspx

Výchozí ověřování

Výchozí ověřování se používá v případě, že nechcete, aby veškeré zabezpečení na webové aplikace; anonymní přístup, je nutné toto zabezpečení Zprostředkovatel. Mezi všechny zprostředkovatele ověřování poskytuje výchozí ověřování maximální výkon pro aplikace. Tento zprostředkovatel ověřování je také Při použití vlastního modulu vlastní zabezpečení.

Autorizace

Autorizace je proces, který ověří, pokud ověření uživatel má přístup k požadované prostředky.

PROSTŘEDÍ ASP.NET nabízí následující zprostředkovatelé ověřování:

FileAuthorization

Na FileAuthorizationModule Třída provádí ověření souboru a je aktivní při použití Ověřování systému Windows. FileAuthorizationModule je odpovědný za provádění kontroly řízení přístupu systému Windows Seznamy (ACL) k určení, zda uživatel by měl mít přístup.

UrlAuthorization

Na UrlAuthorizationModule Třída provádí ověřování adresy URL (Uniform Resource Locator), která řídí autorizaci na základě identifikátoru URI oboru názvů. Identifikátor URI oboru názvů může být. zcela odlišné od fyzické cesty souboru a složky oprávnění NTFS Používejte.

UrlAuthorizationModule implementuje i pozitivní a negativní autorizační výroky; To znamená, že můžete použít modul selektivně povolit nebo odepřít přístup k libovolné části oboru názvů URI pro uživatele, role (například správce, testerům a správci) a slovesa (například GET a POST).

Pro Další informace o autorizaci v prostředí ASP.NETTO, naleznete v následujícím tématu: v.NET Framework SDK dokumentace:
PROSTŘEDÍ ASP.NET autorizace
http://msdn.microsoft.com/en-us/library/wce3kxhd (vs.71) .aspx

Zabezpečení založené na rolích

Zabezpečení na základě rolí v prostředí ASP.NET je podobné základě rolí zabezpečení, které používají model Microsoft COM + a Microsoft Transaction Server (MTS), Ačkoli existují rozdíly. Zabezpečení na základě rolí v prostředí ASP.NET není omezené účty systému Windows a skupinám. Například pokud ověřování systému Windows a je povoleno zosobnění, totožnost uživatele je identita systému Windows (User.Identity.Name = "DOMENA\Uzivatelske_jmeno"). Můžete zkontrolovat identity členství v určité role a odpovídajícím způsobem omezit přístup. Pro Příklad:

Visual Basic.NET kód
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");
				
Pokud používáte ověřování pomocí formulářů, role nejsou přiřazeny ověřený uživatel; je nutné provést programově. Přiřadit role ověřený uživatel, použití OnAuthenticate Událost ověřování modulu (což je formulářů modul ověřování v tomto příkladu) pro vytvoření nového GenericPrincipal objekt a přiřadit ji Uživatel Vlastnost Vlastnost HttpContext. Následující kód ilustruje Toto:

Visual Basic.NET kód
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);
      }
   }
} 
				
Zkontrolovat, zda je uživatel určitou roli a omezit přístup proto použijte následující kód (nebo podobnou) .aspx stránek:

Visual Basic.NET kód
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");
				
Další informace získáte v článku znalostní báze Microsoft Knowledge Base:
306238 JAK: Implementovat založené na rolích zabezpečení pomocí ověřování na základě formulářů ve vašem prostředí ASP.NET aplikací pomocí jazyka Visual Basic.NET
Další informace o zabezpečení založené na rolích Následující téma v.NET Framework SDK dokumentace:
Zabezpečení založené na rolích
http://msdn.microsoft.com/en-us/library/52kd59t0 (vs.71) .aspx

Odkazy

Informace týkající se prostředí ASP.NET pokyny pro zabezpečení, naleznete Následující dokument white paper MSDN:
Ověřování v prostředí ASP.NET:.NET bezpečnostní pokyny
http://msdn.microsoft.com/en-us/library/ms978378.aspx
Další obecné informace o prostředí ASP.NET, podívejte se Následující diskusní skupiny MSDN:
Microsoft.public.dotNET.Framework.ASPNET
Další informace získáte v článku znalostní báze v článcích znalostní báze Microsoft Knowledge Base:
311094 Chyba: "configurationexception" při chybě zosobnit účty pro čtení konfigurace
306359 PRB: Request.ServerVariables("LOGON_USER") vrátí prázdný řetězec v prostředí ASP.NET
313091 Vytvoření klíče pomocí jazyka Visual Basic.NET pro použití při ověřování pomocí formulářů
313116 PRB: Požadavky na ověřování formulářů není přesměrováni loginUrl stránky
Další informace naleznete v následujících publikacích:
Reilly, Douglas J. Navrhování Microsoft ASP.NET aplikací. Microsoft Press, 2001.

Esposito, Dino.Vytváření webových řešení pomocí prostředí ASP.NET a ADO.NET. Microsoft Press, 2001.

Vlastnosti

ID článku: 306590 - Poslední aktualizace: 18. května 2011 - Revize: 5.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
Klíčová slova: 
kbproductlink kbarttyperoadmap kbconfig kbinfo kbsecurity kbweb kbmt KB306590 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:306590

Dejte nám zpětnou vazbu

 

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