Jak nakonfigurovat aplikaci ASP.NET pro scénář delegování

Překlady článku Překlady článku
ID článku: 810572 - 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

Tento článek popisuje podrobný postup konfigurace Internetové informační služby (IIS) a služby Active Directory, které jsou třeba pro delegování aplikací ASP.NET. Delegování je dalším krokem, který následuje po zosobnění. Delegování umožňuje získat přístup ke vzdáleným prostředkům v zastoupení klienta a odstraňuje omezení přístupu pouze k místním prostředkům. Tento článek popisuje kroky, které je nutné provést při delegování aplikace propojené s rozhraním ASP.NET.


Požadavky na delegování

Přístup k prostředkům pomocí delegování je založen na integrovaném ověřování systému Windows. Počet počítačů, kterým můžete delegovat svůj účet, není omezen. Je nutné správně konfigurovat každý z nich. Integrovanou metodu ověřování systému Windows lze použít pouze při splnění následujících dvou podmínek:
  • V síti je nastaveno použití ověřovacího protokolu Kerberos, který vyžaduje službu Active Directory.
  • Počítače a účty v síti jsou nastaveny jako důvěryhodné pro delegování.
Nejsou-li tyto podmínky splněny, nelze získat přístup k datům vzdáleného prostředku pomocí integrovaného ověřování systému Windows. Toto integrované ověřování totiž umožňuje přístup pouze k serveru služby IIS a nikoli k dalším prostředkům konfigurovaným pro ověřování systému Windows, ke kterým server služby IIS vzdáleně přistupuje.

Ověřování pomocí protokolu Kerberos ověřuje server a klienta, zatímco ověřování pomocí výzvy a odpovědi systému Windows NT (NTLM) ověřuje pouze klienta. Operační systémy starší než Windows 2000 ověřování pomocí protokolu Kerberos nepodporují. Protokol Kerberos vyžaduje použití služby IIS 5.0 nebo novější. Ve všech počítačích, v nichž chcete použít delegování s protokolem Kerberos, musí být proto spuštěn systém Windows 2000 nebo novější operační systém. Všechny počítače musí být navíc součástí stejné doménové struktury služby Active Directory. Protokol Kerberos je podporován pouze v aplikaci Microsoft Internet Explorer 5.0 nebo novější. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
217098 Základní přehled protokolu Kerberos pro ověřování uživatelů v systému Windows 2000 (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)


Konfigurace aplikace Internet Explorer pro delegování

Používáte-li aplikaci Internet Explorer 5.0 nebo novější, můžete ji nakonfigurovat pro delegování technologie ASP.NET a služby IIS. Postupujte následujícím způsobem:
  1. Spusťte aplikaci Internet Explorer. Klepněte v panelu nabídek na položku Nástroje a poté klepněte na příkaz Možnosti Internetu.
  2. Klepněte na kartu Upřesnit a zaškrtněte políčko Povolit Integrované ověření systémem Windows (vyžaduje restartování).

    Toto nastavení umožní aplikaci Internet Explorer odpovědět na výzvu k vyjednání a následně provést ověření pomocí protokolu Kerberos. Tato funkce vyžaduje systém Windows 2000 nebo novější. Není-li aplikace Internet Explorer spuštěna v operačním systému Windows 2000 nebo novějším, na výzvu k vyjednání neodpoví. Aplikace Internet Explorer ve výchozím nastavení používá ověřování NTLM, i když je zaškrtnuto políčko Povolit Integrované ověření systémem Windows (vyžaduje restartování).

    Upozornění: Při nesprávných úpravách registru pomocí Editoru registru nebo jiným způsobem může dojít k vážným problémům. Tyto problémy mohou vyžadovat přeinstalaci operačního systému. Společnost Microsoft nezaručuje, že tyto problémy bude možné vyřešit. Úpravy registru provádíte na vlastní nebezpečí.

  3. Poznámka: V počítačích se systémem Microsoft Windows 2000 nebo pozdějším mohou správci zapnout integrované ověřování systému Windows nastavením položky EnableNegotiate REG_DWORD na hodnotu 1 v následujícím klíči registru:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
    .
  4. Mohou nastat problémy, které způsobí, že se ověření pomocí protokolu Kerberos v klientské aplikaci Internet Explorer nezdaří. Další informace o problémech týkajících se ověřování pomocí protokolu Kerberos naleznete v následujících článcích znalostní báze Microsoft Knowledge Base:
    321728 Aplikace Internet Explorer nepodporuje ověřování pomocí protokolu Kerberos se servery proxy (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)
    325608 Delegování ověřování pomocí protokolu Kerberos nelze použít v architektuře s vyrovnáváním zatížení (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)
    248350 Ověřování pomocí protokolu Kerberos se nezdaří po upgradu ze služby IIS 4.0 na službu IIS 5.0 (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)
    264921 Ověřování klientských prohlížečů službou IIS (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)

Konfigurace služby IIS pro delegování

Chcete-li pro aplikaci propojenou s rozhraním ASP.NET zapnout integrované ověřování systému Windows a zosobnění, je třeba nakonfigurovat Internetovou informační službu (IIS). Při konfigurování ověřování systému Windows ve službě IIS postupujte takto:
  1. Klepněte na tlačítko Start, klepněte na příkaz Spustit, zadejte příkaz inetmgr a pak klepněte na tlačítko OK.
  2. Rozbalte položku místní počítač a poté položku Síť WWW.
  3. Klepněte pravým tlačítkem myši na položku Výchozí server WWW a potom klepněte na příkaz Vlastnosti.
  4. Klepněte na kartu Zabezpečení adresáře a potom ve skupinovém rámečku Nastavení anonymního přístupu a ověřování na tlačítko Upravit.
  5. Zaškrtněte políčko Integrované ověřování systému Windows a zrušte zaškrtnutí políček Anonymní přístup, Ověřování algoritmem Digest pro doménové servery Windows a Základní ověřování.

    Poznámka: Je-li povolena možnost Anonymní ověřování, služba IIS se vždy nejdříve pokusí o anonymní ověření, i když jsou povoleny další metody.

    Je-li zároveň vybráno Anonymní ověřování, Integrované ověřování systému Windows i Základní ověřování, má Integrované ověřování systému Windows přednost před Základním ověřováním, ale až za Anonymním ověřováním.

Konfigurace rozhraní ASP.NET pro delegování

  1. Otevřete soubor Web.config v textovém editoru, např. v Poznámkovém bloku. Soubor Web.config se nachází ve složce Web Application.
  2. V části <configuration> souboru Web.config vyhledejte následující informace:
    <allow users="*" /> 
    <deny users="?" />
  3. V části <System.web> zkontrolujte, zda je prvek ověřování nastaven na hodnotu Windows následovně:
    <authentication mode="Windows" />
  4. V části >System.web> přidejte následující prvek pro zosobnění:
    <identity impersonate="true" />
  5. Další informace naleznete v následujících článcích znalostní báze Microsoft Knowledge Base:
    306158 Implementace zosobnění v aplikaci ASP.NET (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)
    317012 Zpracování a vyžádání identity v technologii ASP.NET (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)
    315736 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ý).)

Konfigurace služby Active Directory pro delegování

Delegování musí být povoleno ve všech počítačích s pověřením pro delegování. Lze ho nakonfigurovat pomocí nástrojů služby Active Directory.

Další informace najdete na následujících webech společnosti Microsoft:
Povolení počítače jako důvěryhodného pro delegaci
http://technet2.microsoft.com/windowsserver/en/library/b207ee9c-a055-43f7-b9be-20599b694a311033.mspx
Účty počítačů a uživatelů
http://technet2.microsoft.com/windowsserver/en/library/91a98c38-38c5-49dc-83bf-e69d8e1dbbfa1033.mspx
InetInfo.exe, základní proces služby IIS, je služba spuštěná pod účtem LocalSystem a provádí následující činnosti:
  • přijímá požadavky klientů,
  • zosobňuje uživatele,
  • provádí příslušné úlohy,
  • přepíná zpět na identitu procesu, tedy na účet LocalSystem.
Pokud je program InetInfo.exe spuštěn pod jiným účtem než LocalSystem, musíte ověřit, zda má účet oprávnění sloužit jako delegát. V tom případě nekonfigurujte počítač pro delegování.

Poradce při potížích

  1. Jestliže název webového serveru použitý v adrese URL při volání stránky ASP.NET není názvem NetBIOS počítače se službou IIS, integrované ověřování se pravděpodobně nezdaří s chybou 401.3. Chcete-li tyto potíže vyřešit, zaregistrujte pro počítač pomocí nástroje SetSPN.exe nový hlavní název služby (SPN). Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
    294382 Při ověřování může dojít k chybě 401.3, pokud se hodnota Hlavička hostitele webu liší od názvu NetBIOS serveru (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)
  2. Protokol Kerberos nelze použít v architektuře s vyrovnáváním zatížení a služba IIS se vrátí k ověřování NTLM. Vzhledem k tomu, že ověřování NTLM nelze použít pro delegování, nefungují žádné aplikace ani služby, které delegování vyžadují. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
    325608 Delegování ověřování pomocí protokolu Kerberos nelze použít v architektuře s vyrovnáváním zatížení (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)
  3. Ověřování pomocí protokolu Kerberos bude správně fungovat pouze v případě, že při každé komunikaci použijete úplné názvy domény (FQDN).
  4. Používáte-li aplikaci Internet Explorer v klientském počítači se systémem Windows 2000 a zobrazíte web, jehož název hlavičky hostitele se liší od názvu NetBIOS počítače, integrované ověřování se pravděpodobně nezdaří s chybou 401.3. Všimněte si, že tato chyba se netýká klientů používajících aplikaci Internet Explorer v systému Windows NT 4, Windows 98 nebo Windows 95. Jiná schémata ověřování také fungují.
  5. Pokud webový server používá úplný název domény, je nutné v aplikaci Internet Explorer přidat web do seznamu intranetových webů. Chcete-li ověřit, zda webový server používá úplný název domény, postupujte takto:
    1. Spusťte aplikaci Internet Explorer.
    2. V nabídce Nástroje klepněte na příkaz Možnosti Internetu a potom klepněte na kartu Zabezpečení.
    3. Zaškrtněte políčko Místní intranet. Klepněte na tlačítko Servery.
    4. Klepněte na tlačítko Upřesnit a zadejte webovou adresu do pole Přidat tento webový server do následující zóny. Klepněte na tlačítko Přidat a poté na tlačítko OK.
  6. Pokud je v aplikaci Internet Explorer nastaveno použití serveru proxy, je třeba zaškrtnout políčko Nepoužívat server proxy pro adresy vnitřní sítě. Chcete-li ověřit, zda je klientská aplikace Internet Explorer nastavena pro použití serveru proxy, postupujte takto:
    1. Spusťte aplikaci Internet Explorer.
    2. V nabídce Nástroje klepněte na příkaz Možnosti Internetu a potom na kartu Připojení.
    3. Klepněte na tlačítko Nastavení místní sítě. Ve skupinovém rámečku Server proxy zkontrolujte, zda je zaškrtnuto políčko Nepoužívat server proxy pro adresy vnitřní sítě.
  7. Chcete-li z aplikace propojené s rozhraním ASP.NET získat přístup k serveru SQL Server, je nutné použít protokol TCP/IP. Pojmenované kanály nepodporují delegování s protokolem Kerberos. Pojmenované kanály používají pouze ověřování NTLM. Postupujte tak, že do připojovacího řetězce přidáte následující atribut:
    "Network Library =dbmssocn"
    Pokud síťovou knihovnu výslovně nenastavíte, použije ověřování NTLM nastavení první knihovny v nástroji pro konfiguraci klienta (Cliconfg.exe). Toto výchozí nastavení bylo v součástech Microsoft Data Access Components (MDAC) 2.6 změněno z pojmenovaných kanálů na protokol TCP/IP.
    Další informace naleznete v následujících článcích znalostní báze Microsoft Knowledge Base:
    315159 CHYBA: Pojmenované kanály nefungují, pokud je dílčí proces spuštěn v účtu ASPNET (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)
    176377 Přístup k serveru SQL Server s integrovaným zabezpečením ze stránky ASP (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)
    176379 Jak nastavit službu IIS a SQL Server na samostatných počítačích s důvěryhodným připojením (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)
    247931 Metody ověřování pro připojení k serveru SQL Server ze stránek ASP (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)

Odkazy

Další informace o navrhování bezpečnějších webových aplikací a scénářích delegování získáte na následujícím webu služby MSDN (Microsoft Developer Network):
http://msdn2.microsoft.com/en-us/library/aa302415.aspx
Další informace o navrhování zabezpečených webových aplikací naleznete v následující knize:
Designing Secure Web-Based Applications
Microsoft Press
Michael Howard, Marc Levy, and Richard Waymire
ISBN 0-7356-0995-0

Vlastnosti

ID článku: 810572 - Poslední aktualizace: 3. prosince 2007 - Revize: 8.4
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Internet Information Services 5.0
  • Microsoft Internet Information Services 6.0
Klíčová slova: 
kbauthentication kbwebforms kbdomain kbclient kbconfig kbwebserver kbhowtomaster kbhowto KB810572

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