Zabezpečení aplikace ASP.NET pomocí zabezpečení systému Windows (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)

Překlady článku Překlady článku
ID článku: 315736 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

ASP.NET lze použít together with Internetová informační služba (IIS) k ověřování uživatelů webu na základě jejich systémem Windows 2000 nebo Windows Server 2003 pověření uživatelského účtu. Stroj provádění ASP.NET lze nakonfigurovat také zosobnit uživatelé webu nebo použít vlastní identitu Windows při přistupuje prostředky, například databází nebo soubory.


Požadavky

Potřebujete následující hardware, software a síťovou infrastrukturu k provádění procedur v tomto článku:
  • Server Service Pack 2
  • Internetová informační služba 5.0
  • Windows Server 2003 IIS 6.0
  • Microsoft Internet Explorer 6.0
  • Microsoft Visual Studio .NET
Potřebujete také zkušeností s následující:
  • Vývoj ASP.NET s Visual Basic .NET
  • Správě služby IIS
  • Správy uživatelských účtů systému Windows 2000

Jak vyvíjení na webu

V tomto postupu vytvoříte jednoduchý ASP.NET webové aplikace, které budou zabezpečeny pomocí ověřování systému Windows.
  1. Visual Studio .NET spusťte a vytvořit nové jazyka ASP.NET webové aplikace s názvem "WindowsSite"
  2. Přetáhněte ovládací prvek popisek ze sady nástrojů na WebForm1.aspx webového formuláře a poté nastavte jeho vlastnost ID authUserPrincipalLabel.
  3. Přetáhněte druhý ovládací prvek popisek ze sady nástrojů na WebForm1.aspx webového formuláře a poté nastavte jeho vlastnost ID aspPrincipalLabel.
  4. Poklepejte na WebForm1.aspx okno kód zobrazit a přidat následující příkaz importuje nad deklarace třídy:
    Imports System.Security
    						
    přidat následující kód do procedury události Page_Load:
    Dim authUserName As String
    Dim aspUserName As String
    authUserName = User.Identity.Name
    aspUserName = Principal.WindowsIdentity.GetCurrent.Name
    authUserPrincipalLabel.Text = "You are: " & authUserName
    aspPrincipalLabel.Text = "This page runs as: " & aspUserName
    					
  5. Zobrazení souboru web.config projektu a potom vyhledejte prvek authentication. Ověřte, zda atribut režimu má hodnotu systému Windows.
  6. Vytvoření a uložení projektu.
  7. Spustit projektu a pak potvrďte zobrazení stránky s následující zprávou:
    • Systém Windows 2000
      Jsou:
      Tato stránka je spuštěna jako: \ASPNET DomainOrServer
    • V Systému Windows Server 2003
      Jsou:
      Tato stránka je spuštěna jako: DomainOrServer \NETWORK SERVICE
    Poznámka: Uživatelské jméno není zobrazena, protože jste není ověřeny službou IIS; stále povolen anonymní přístup.
  8. Ukončete aplikaci Internet Explorer zastavit projektu.

Jak zakázat anonymní přístup

V tomto postupu bude konfigurace IIS vyžadují ověřování integrované v systému Windows pro web WindowsSite.
  1. Minimalizovat Visual Studio a spustit službu správce z program skupině Nástroje pro správu.
  2. Rozbalte server a jeho výchozí web, klepněte pravým tlačítkem myši na server WindowsSite a klepněte na příkaz Vlastnosti.
  3. Na kartě Zabezpečení adresáře v dialogovém okně Vlastnosti WindowsSite klepněte v části "Anonymního přístupu a ověřování" tlačítko Upravit.
  4. Klepnutím zrušte zaškrtnutí políčka anonymní přístup, ověřte, zda je zaškrtnuto políčko integrované ověřování systému Windows a klepněte na tlačítko OK.
  5. Klepněte na tlačítko OK zavřete dialogové okno Vlastnosti WindowsSite.
  6. Přepněte zpět do Visual Studio a spustit projektu. Potvrďte, že stránka zobrazena s následující zprávou:
    • Systém Windows 2000
      Jste: Your Windows user name
      Tato stránka je spuštěna jako: \ASPNET DomainOrServer
    • V Systému Windows Server 2003
      Jste: Your Windows user name
      Tato stránka je spuštěna jako: DomainOrServer \NETWORK SERVICE
    Poznámka: Které byly ověřeny pomocí účtu systému Windows. Pokud jste měl není byl přihlášen k systému Windows, by pokyn pro Windows uživatelské jméno a heslo.
  7. Ukončete aplikaci Internet Explorer zastavit projektu.

Autorizace

V ASP.NET, je možné povolit autorizace aplikace při provedení další nastavení k dispozici v rámci souboru web.config soubor. Můžete povolit určitým uživatelům nebo určitých přístup skupiny k tyto další nastavení. Následující příklady popisují tuto funkci. Povolit přístup všem uživatelům nalezen WINDOWSNT skupina, která se nazývá "Správci", použijte následující kód:
<configuration>
     <system.web>
       <authorization>
         <allow roles="domainname\Managers" />
         <deny users="*" />
       </authorization>
     </system.web>
   </configuration>
				
Přístup pouze určitým uživatelům povolit, použijte následující kód:
<configuration>
     <system.web>
       <authorization>
         <allow users="domainname\user1,domainname\user2,domainname\user3" />
         <deny users="*" />
       </authorization>
     </system.web>
   </configuration>
				
Poznámka se může odkazovat více rolí nebo uživatelé při použití seznam oddělený čárkami.


Jak povolit zosobnění

V tomto postupu bude konfigurovat aplikaci WindowsSite zosobnit Windows uživatele, kteří je přístup.
  1. Zobrazení souboru web.config pro WindowsSite projektu v aplikaci Visual Studio.
  2. Přidejte následující prvek po prvek authentication:
    <identity impersonate = "true" />
    					
  3. Uložit web.config.
  4. Spustit projektu. Potvrdit zobrazení stránky s následující zprávou (Všimněte si, stroj provádění ASP.NET bude používat pověření Windows přístup k prostředkům v zastoupení):
    Jste: Your Windows user name
    Tato stránka je spuštěna jako: Your Windows user name
  5. Ukončete aplikaci Internet Explorer zastavit projektu.

Jak přiřadit vlastní hlavní

V tomto postupu budou konfigurovat aplikaci WindowsSite použití komitenta zabezpečení vlastní:
  1. Spustit funkci Správa počítače z program skupině Nástroje pro správu. Vytvořit nový uživatelský účet systému Windows 2000 s názvem "WindowsSite" s heslem "heslo" (Všimněte si, zda je server řadičem domény a používat nástroj Active Directory uživatelé a počítače).
  2. Klepnutím zrušte zaškrtnutí políčka musí uživatel změnit heslo při příštím přihlášení políčko. Poznámka tato vlastní zaregistrovaný objekt vyberete musí mít oprávnění popsaných v následujícím článku znalostní báze Knowledge Base:
    317012INFORMACE: Zpracování a vyžádání identity v ASP.NET
  3. Po vytvoření účtu WindowsSite zavřete Nástroj pro správu použitá k jeho vytvoření.
  4. Zobrazení souboru web.config pro WindowsSite projektu v aplikaci Visual Studio.
  5. Upravit element identity číst takto:
    identity impersonate = "true"
           userName = "DomainOrServerName\WindowsSite"
           password = "password"/>
    
    kde DomainOrServerName je buď název systému Windows 2000 nebo domény Windows Server 2003 (v prostředí domény) nebo počítače (v prostředí pracovní skupiny).
  6. Uložit web.config.
  7. Spustit projektu. Potvrďte, že stránka zobrazena s následující zprávou:
    Jste: Your Windows user name
    Tato stránka je spuštěna jako: DomainOrServerName \WindowsSite
    Poznámka: Aspnet_wp.exe použije pověření systému Windows určené přístup k prostředkům ve vašem zastoupení.
  8. Ukončete aplikaci Internet Explorer zastavit projektu.
Poznámka: Identita procesu, který zosobňuje určitého uživatele v podprocesu, musí mít oprávnění jednat jako část operačního systému.
  • V systému Windows 2000 ve výchozím nastavení procesu Aspnet_wp.exe spuštěn v účtu počítače s názvem ASPNET.
  • V systému Windows Server 2003 ve výchozím nastavení procesu Aspnet_wp.exe spuštěn pod účtem počítače s názvem NetworkService. Tento účet nemá správná oprávnění k zosobnění určitého uživatele. Pokud se pokusíte zosobnit konkrétního uživatele se zobrazí chybová zpráva.
Pro řešení tohoto problému, použijte jednu z následujících metod:
  • Udělit jednat jako část operačního systému oprávnění účtu ASPNET (nejméně privilegované účet).

    Poznámka: Ačkoli pomocí této metody lze problém obejít, společnost Microsoft nedoporučuje tuto metodu.
  • Změna účtu proces Aspnet_wp.exe je spuštěn pod k systémovému účtu v oddílu konfigurace <processmodel>souboru Machine.config.
Další informace o procesu ASPNET na webu Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/aa291339(VS.71).aspx

Odstraňování potíží

Zabezpečení systému Windows v ASP.NET webu mohou být dále Rozšířené (a komplikované) pomocí oprávnění NTFS souboru. Pokud váš účet systému Windows nemá oprávnění ke čtení ASP.NET webovou stránku, IIS výzvu pro alternativní pověření Windows. Podobně pokud stránku ASP.NET se pokusí získat přístup k souboru, který používá modul ASP.NET provádění zaregistrovaný objekt zabezpečení nemá přístup k, budete vyzváni pro alternativní pověření. NTFS oprávnění jsou efektivní způsob řízení přístupu pododdíly webového serveru.

Odkazy

Další informace o použití ověřování systému Windows ASP.NET webu naleznete v tématu "Zabezpečení" ASP.NET webové aplikace v dokumentaci .NET Framework.

Další informace naleznete v článku "Ověřování v ASP.NET: .NET dokumentace k zabezpečení" na následujícím webu:
http://msdn2.microsoft.com/en-us/library/ms978378.aspx

Vlastnosti

ID článku: 315736 - Poslední aktualizace: 3. prosince 2007 - Revize: 3.11
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft ASP.NET 1.0
  • Microsoft Internet Information Services 5.0
  • Microsoft ASP.NET 1.1
  • Microsoft Internet Information Services 6.0
Klíčová slova: 
kbmt kbconfig kbhowtomaster kbinfo kbsecurity kbweb KB315736 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:315736

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