Cikk azonosítója: 810572 - Utolsó ellenőrzés: 2007. december 4. - Verziószám: 8.4

ASP.NET alkalmazások konfigurálása delegáláshoz

RendszertippA jelen cikk az Ön által használttól eltérő operációs rendszerre vonatkozik. A cikk azon tartalmait, amelyek nem relevánsak Önnek, letiltjuk.

A lap tartalma

Az összes kibontása | Az összes összecsukása

Összefoglaló

Ez a cikk lépésenként ismerteti az Internet Information Services (IIS) és az Active Directory alkamazásokon, az ASP.NET alkalmazások delegálásához elvégzendő beállításokat. A delegálás, mint a megszemélyesítés egy fejlettebb formája, módot ad távoli erőforrások elérésére is az ügyfelek nevében, így nem csak helyi erőforrásokhoz férhet hozzá. Ez a cikk leírja az ASP.NET rendszerhez kapcsolódó alkalmazások delegálásához szükséges lépéseket.


A delegálás követelményei

A delegálás az integrált Windows-hitelesítést használja az erőforrások eléréséhez. Fiókját tetszőleges számú számítógéphez delegálhatja, csupán mindegyiket megfelelően kell konfigurálnia. Az integrált Windows-hitelesítés csak az alábbi két feltétel teljesülése esetén működik:
  • A hálózat az Active Directory-t igénylő Kerberos hitelesítési protokoll használatára van beállítva
  • A hálózat számítógépei és a fiókok delegálásra megbízhatóként vannak beállítva.
Ha a feltételek nem teljesülnek, az integrált Windows-hitelesítés használatával nem érhetők el a távoli erőforrásokon lévő adatok, mivel az integrált Windows-hitelesítés csak az IIS-kiszolgálóhoz engedélyez hozzáférést, az IIS-kiszolgáló által távolról elért, Windows-hitelesítés használatára konfigurált további erőforrásokhoz nem.

A Kerberos-hitelesítés a kiszolgálót és az ügyfelet is hitelesíti, míg a Windows NT kérdés-válasz (NTLM) hitelesítési módszere csak az ügyfelet. A Windows 2000 rendszernél korábbi operációs rendszerek nem támogatják a Kerberos-hitelesítést. A Kerberos használatához emellett az IIS 5.0-s vagy újabb verziója szükséges. Ezek következtében Windows 2000 vagy annál újabb operációs rendszert kell futtatnia minden olyan számítógépen, melyen használni kívánja a Kerberos alapú delegálást. Ezeknek a számítógépeknek továbbá ugyanahhoz az Active Directory erdőhöz kell tartozniuk. A Kerberos protokollt csak a Microsoft Internet Explorer 5.0-s és újabb verziói támogatják. A Microsoft Tudásbázis kapcsolódó cikke:
217098  (http://support.microsoft.com/kb/217098/ ) A Windows 2000 Kerberos felhasználóhitelesítési protokolljának gyors áttekintése (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)


Az Internet Explorer konfigurálása a delegáláshoz

Internet Explorer 5.0 vagy újabb verzió használata esetén az Internet Explorer a következőképp állítható be az ASP.NET és az IIS közötti delegáláshoz. Ehhez hajtsa végre a következő lépéseket:
  1. Indítsa el az Internet Explorer böngészőt. Kattintson a menüsáv Eszközök menüjére, majd annak Internetbeállítások parancsára.
  2. Kattintson a Speciális fülre, és kattintással jelölje be Az integrált Windows-hitelesítés engedélyezése (újraindítást igényel) jelölőnégyzetet.

    Ez a beállítás lehetővé teszi, hogy az Internet Explorer válaszoljon az egyeztetési kérésekre, majd Kerberos-hitelesítést hajtson végre. Mivel a szolgáltatáshoz Windows 2000 vagy újabb operációs rendszer szükséges, ha az Internet Explorer nem e rendszerek valamelyikén fut, nem fog válaszolni az egyeztetési kérésre. Az Internet Explorer alapértelmezés szerint az NTLM-hitelesítést használja, Az integrált Windows-hitelesítés engedélyezése (újraindítást igényel) jelölőnégyzet bejelölésétől függetlenül.

    Figyelmeztetés: A Rendszerleíróadatbázis-szerkesztővel vagy más eszközzel helytelenül módosított rendszerleíró adatbázis komoly problémákat okozhat, amelyek akár az operációs rendszer újratelepítését is szükségessé tehetik. A Microsoft nem garantálja az ilyen jellegű problémák megoldhatóságát, ezért a rendszerleíró adatbázist csak saját felelősségére módosíthatja.

  3. Megjegyzés: A Microsoft Windows 2000 vagy újabb verziójú rendszert futtató számítógépeken a rendszergazdák a rendszerleíró-adatbázis
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
    kulcsában található REG_DWORD típusú EnableNegotiate bejegyzés 1 értékre történő beállításával engedélyezhetik az integrált Windows-hitelesítést.
  4. Bizonyos esetekben a Kerberos-hitelesítés sikertelen az Internet Explorer ügyfeleken. További információt a Kerberos-hitelesítéssel kapcsolatos kérdésekről a Microsoft Tudásbázis következő cikkeiben talál a cikkek számára kattintva:
    321728  (http://support.microsoft.com/kb/321728/ ) Az Internet Explorer proxykiszolgálókkal nem támogatja a Kerberos-hitelesítést (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)
    325608  (http://support.microsoft.com/kb/325608/ ) A Kerberos-hitelesítésen keresztüli hitelesítés-delegálás terheléselosztott architektúrákban nem működik (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)
    248350  (http://support.microsoft.com/kb/248350/ ) Az IIS 4.0 rendszerről az IIS 5.0 rendszerre való frissítést követően sikertelen a Kerberos-hitelesítés (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)
    264921  (http://support.microsoft.com/kb/264921/ ) Hogyan hitelesíti az IIS a böngészőügyfeleket (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)

Az IIS konfigurálása a delegáláshoz

Az ASP.NET technológiát használó alkalmazások esetén az integrált Windows-hitelesítés, valamint a megszemélyesítés bekapcsolásához az Internet Information Services (IIS) konfigurálása szükséges. Az IIS Windows-hitelesítés használatára való konfigurálása az alábbi lépésekkel tehető meg:
  1. Kattintson a Start menü Futtatás parancsára, írja be az inetmgr parancsot, majd kattintson az OK gombra.
  2. Bontsa ki a helyi számítógép, ezt követően a Webhelyek ágat.
  3. Kattintson jobb gombbal az Alapértelmezett webhely elemre, és kattintson a Tulajdonságok parancsra.
  4. Kattintson a Könyvtárbiztonság lap Névtelen és hitelesített hozzáférés beállításai csoportjának Szerkesztés gombjára.
  5. Kattintással jelölje be a Beépített Windows hitelesítés jelölőnégyzetet, és törölje a jelet a Névtelen hozzáférés, a Windows tartománykiszolgálók kivonatoló hitelesítése és az Alapfokú hitelesítés jelölőnégyzetekből.

    Megjegyzés: Ha a névtelen hozzáférés engedélyezve van, az IIS még akkor is így próbálkozik először a hitelesítéssel, ha más módszerek is engedélyezve vannak.

    Ha a névtelen hozzáférés, az integrált Windows-hitelesítés és az alapfokú hitelesítési mód is engedélyezve van, a hitelesítési módszerek precedenciája a következő: az integrált Windows-hitelesítés az első, azt követi az alapfokú hitelesítés, azt pedig a névtelen hozzáférés.

Az ASP.NET konfigurálása a delegáláshoz

  1. Nyissa meg a Web.config fájlt egy szövegszerkesztő programban; ilyen például a Jegyzettömb. A Web.config fájl a webalkalmazás könyvtárában található.
  2. Keresse meg a Web.config fájl <configuration> szakaszában a következő részletet:
    <allow users="*" /> 
    <deny users="?" />
  3. A <System.web> szakaszban a következőképp ellenőrizze, hogy a hitelesítési elem értéke Windows:
    <authentication mode="Windows" />
  4. A megszemélyesítéshez a következő elemet adja hozzá a <System.web> szakaszhoz:
    <identity impersonate="true"/>
  5. A Microsoft Tudásbázis kapcsolódó cikkei:
    306158  (http://support.microsoft.com/kb/306158/ ) A megszemélyesítés implementálása ASP.NET alkalmazásokban (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)
    317012  (http://support.microsoft.com/kb/317012/ ) Folyamat- és kérelemidentitás az ASP.NET nyelvben (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)
    315736  (http://support.microsoft.com/kb/315736/ ) ASP.NET alkalmazások biztonságossá tétele a Windows rendszerbiztonság használatával (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)

Az Active Directory konfigurálása delegáláshoz

A delegálásnak minden delegáltként való működést lehetővé tevő hitelesítő adatokkal rendelkező számítógépen engedélyezve kell lennie. Ezt az Active Directory eszközeinek használatával lehet elvégezni.

További információkat talál a Microsoft alábbi weblapjain:
A delegálási megbízhatóság beállításáról:
http://technet2.microsoft.com/windowsserver/en/library/b207ee9c-a055-43f7-b9be-20599b694a311033.mspx (http://technet2.microsoft.com/windowsserver/en/library/b207ee9c-a055-43f7-b9be-20599b694a311033.mspx)
A felhasználói és számítógépfiókokról:
http://technet2.microsoft.com/windowsserver/en/library/91a98c38-38c5-49dc-83bf-e69d8e1dbbfa1033.mspx (http://technet2.microsoft.com/windowsserver/en/library/91a98c38-38c5-49dc-83bf-e69d8e1dbbfa1033.mspx)
Az IIS folyamat magja, az InetInfo.exe a LocalSystem fiókon futó szolgáltatás, amely a következő feladatokat végzi:
  • Fogadja az ügyfélkérelmet.
  • Megszemélyesíti a felhasználót.
  • Elvégzi a megfelelő feladatokat.
  • Visszatér a folyamat eredeti identitásához. Ez a LocalSystem.
Ha az InetInfo.exe alkalmazást a LocalSystem fióktól eltérő fiókon futtatja, ellenőrizze, hogy az a fiók viselkedhet-e meghatalmazottként. Ebben az esetben nem kell konfigurálni a számítógépet delegálásra.

Hibaelhárítás

  1. Ha az ASP.NET lap hívására használt URL-címhez tartozó webkiszolgáló neve nem azonos az IIS szolgáltatást futtató számítógép NetBIOS-nevével, az integrált hitelesítés a 401.3 hibakódot eredményezheti, és sikertelen lehet. A probléma megoldásához a SetSPN.exe segédprogrammal regisztráljon egy új egyszerű szolgáltatásnevet a számítógép részére. A Microsoft Tudásbázis kapcsolódó cikke:
    294382  (http://support.microsoft.com/kb/294382/ ) A hitelesítés sikertelen lehet és „401.3” jelű hibát eredményezhet, ha a webhely állomásneve eltér a kiszolgáló NetBIOS-nevétől (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)
  2. A Kerberos-hitelesítés terheléselosztott architektúrákban nem működik, és az IIS az NTLM-hitelesítés használatára vált vissza. Mivel az NTLM-hitelesítés delegáláshoz nem használható, a delegálásra igényt tartó alkalmazások és szolgáltatások egyike sem működik. A Microsoft Tudásbázis kapcsolódó cikke:
    325608  (http://support.microsoft.com/kb/325608/ ) A Kerberos-hitelesítésen keresztüli hitelesítés-delegálás terheléselosztott architektúrákban nem működik (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)
  3. A Kerberos helyes működéséhez a kommunikáció során végig teljesen minősített tartományneveket (FQDN) kell használni.
  4. Windows 2000 rendszerű ügyfélen Internet Explorer böngészővel megnyitva egy olyan webhelyet, melynek állomás-fejlécbeli neve nem azonos a számítógép NetBIOS-nevével, az integrált hitelesítés a 401.3 jelű hibát eredményezheti, és sikertelen lehet. Fontos megjegyezni, hogy a Windows NT 4, Windows 98 vagy Windows 95 rendszereken futó Internet Explorer ügyfelek esetén a hitelesítés nem sikertelen. A többi hitelesítési módszer működik.
  5. Ha a webkiszolgáló teljesen minősített tartománynevet használ, a webhelyet fel kell venni az Internet Explorer intranethelyeket tartalmazó listájába. Az alábbi lépések végrehajtásával állapíthatja meg, hogy a webkiszolgáló teljesen minősített tartománynevet használ-e:
    1. Indítsa el az Internet Explorer programot.
    2. Az Eszközök menüben kattintson az Internetbeállítások parancsra, majd a Biztonság fülre.
    3. Kattintással jelölje ki a Helyi intranet zónát. Kattintson a Helyek gombra.
    4. Kattintson a Speciális gombra, majd írja be a webhely címét a Webhely hozzáadása a zónához mezőbe. Kattintson a Hozzáadás, ezt követően az OK gombra.
  6. Ha az Internet Explorer ügyfél proxykiszolgáló használatára van beállítva, a Proxy figyelmen kívül hagyása helyi címeknél jelölőnégyzetet be kell jelölni. Az alábbi lépéseket követve állapítható meg, hogy az Internet Explorer proxykiszolgáló használatára van-e beállítva:
    1. Indítsa el az Internet Explorer programot.
    2. Kattintson az Eszközök menü Internetbeállítások parancsára, majd a Kapcsolatok fülre.
    3. Kattintson a LAN-beállítások gombra. Győződjön meg róla, hogy a Proxykiszolgáló csoportban a Proxy figyelmen kívül hagyása helyi címeknél jelölőnégyzet be van jelölve.
  7. Ha az ASP.NET technológiát használó alkalmazásnak SQL Server kiszolgálóhoz is hozzá kell férnie, a TCP/IP protokoll használata szükséges. A named pipe-ok nem támogatják a Kerberos-delegálást, kizárólag NTLM-hitelesítést használnak. Ennek használatához adja hozzá a következő attribútumot a kapcsolódási karakterlánchoz:
    "Network Library =dbmssocn"
    Ha nem adja meg ilyen módon a hálózati könyvtárat, az NTLM az ügyfél-konfigurációs segédprogramban (Cliconfg.exe) található első könyvtárbeállítást veszi figyelembe. Ez az alapértelmezés a Microsoft Data Access Components (MDAC) 2.6-os verziójában named pipe-okról a TCP/IP-re változott.
    A Microsoft Tudásbázis kapcsolódó cikkei:
    315159  (http://support.microsoft.com/kb/315159/ ) Programhiba: Az ASPNET fiók alatt futó munkavégző folyamatban nem működnek a named pipe-ok (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)
    176377  (http://support.microsoft.com/kb/176377/ ) Az SQL Server elérése az ASP nyelvből az integrált biztonság használatával (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)
    176379  (http://support.microsoft.com/kb/176379/ ) Az IIS és az SQL Server telepítése két, egymás felé megbízható kapcsolattal rendelkező számítógépen (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)
    247931  (http://support.microsoft.com/kb/247931/ ) Az SQL Server rendszerhez való kapcsolódás hitelesítési módjai az Active Server Pages technológia használata esetén (Előfordulhat, hogy a hivatkozás részben vagy teljes egészében angol nyelvű tartalomra mutat.)

Hivatkozások

A biztonságos web alapú alkalmazások tervezéséről további tudnivalókat talál, és különböző delegálási forgatókönyvekkel ismerkedhet meg a Microsoft Developer Network (MSDN) alábbi webhelyén:
http://msdn2.microsoft.com/en-us/library/aa302415.aspx (http://msdn2.microsoft.com/en-us/library/aa302415.aspx)
A biztonságos web alapú alkalmazások tervezéséről bővebben olvashat a következő kiadványban:
Designing Secure Web-Based Applications
Microsoft Press
Michael Howard, Marc Levy, and Richard Waymire
ISBN 0-7356-0995-0

A cikkben található információ a következő(k)re vonatkozik:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Internet Information Services 5.0
  • Microsoft Internet Information Services 6.0
Kulcsszavak: 
kbhowto kbhowtomaster kbwebserver kbwebforms kbconfig kbauthentication kbclient kbdomain KB810572
A Microsoft tudásbázisban szolgáltatott információkat "az adott állapotban", bárminemű szavatosság vagy garancia nélkül biztosítjuk. A Microsoft kizár mindennemű, akár kifejezett, akár vélelmezett szavatosságot vagy garanciát, ideértve a forgalomképességre és az adott célra való alkalmasságra vonatkozó szavatosságot is. A Microsoft Corporation és annak beszállítói semmilyen körülmények között nem felelősek semminemű kárért, így a közvetlen, a közvetett, az üzleti haszon elmaradásából származó vagy speciális károkért, illetve a kár következményeként felmerülő költségek megtérítéséért, még abban az esetben sem, ha a Microsoft Corporationt vagy beszállítóit az ilyen károk bekövetkeztének lehetőségére figyelmeztették. Egyes államok joga nem teszi lehetővé bizonyos károkért a felelősség kizárását vagy korlátozását, ezért a fenti korlátozások az ön esetében esetleg nem alkalmazhatók.