Egy megbízható (megbízható) vegyületek
Használata kódolva jelszavakat a webes alkalmazás nem mindig kívánatos. A Microsoft SQL Server lehetővé teszi, hogy használja a „megbízható kapcsolat» (megbízható kapcsolatok), hogy hitelesítse a kapcsolatot az adatbázissal. Ebben az esetben csak a felhasználó nevét átvisszük a hálózat és az úgynevezett hitelesítési token (hitelesítési token). A felhasználó jelszavát a hálózaton keresztül nem közvetítik. Amikor megpróbál használjon megbízható kapcsolatot egy ASP.NET alkalmazás, akkor befut néhány nehézségére ASP.NET funkciók működnek. Különösen ez kapcsolódik a fiók beállításait, amelyek alapján működik ASP.NET munkafolyamat.
Ha a webkiszolgáló IIS 5.x és az SQL Server ugyanazon a számítógépen, majd egy megbízható kapcsolat nem jelent problémát - elég ahhoz, hogy a szükséges jogokat a ASPNET felhasználónak az adatbázis-objektumok, és add hozzá a vonal «Integrált Biztonsági = SSPI» kapcsolat, vagy «Trusted_Connection = true» . A kapcsolat karaktersorozat, például az alábbiak szerint:
Abban az esetben, ha az SQL Server fut ugyanazon a számítógépen az IIS 6 hozzáférni az adatbázishoz, adja hozzá az IIS_WPG helyi csoport a listán az SQL Server felhasználói nevek és megadja a szükséges engedélyeket az adatbázis objektumokat. A hitelesítési eljárás az SQL Server össze kell keverni (SQL Server és a Windows).
Nagyobb az ügy bonyolultsága, amikor az SQL Server és az IIS / ASP.NET vannak a különböző számítógépeken, mint ebben az esetben, az SQL Server nem ASPNET vagy IIS_WPG venni.
Vannak az alábbi módon lehet megoldani ezt a problémát:
- ASP.NET alatt fut a tartományi fiók
- Explicit felhasználói név és jelszó
- használata impersonalizatsii
- Másolatot készíthet az ASPNET fiók az SQL Server (IIS 5.x)
- Készítsen saját alkalmazás medence IIS6
Indítson Web alkalmazások alatt a tartományi fiókot veszélyes gyakorlat. Abban az esetben, egy sikeres támadás egy webszerver a támadó hozzáférést nyer a teljes hálózatot keretében hitelesített tartomány felhasználói.
Módszer №4 (explicit felhasználói név és jelszó) keretében ez a cikk nem illik hozzánk. Fontos megjegyezni ugyanakkor, hogy a connection string tárolható nemcsak a web.config fájlt, hanem a névsorból. Ezt a folyamatot részletesen ismerteti a Microsoft Tudásbázis 329290 szám alatt és az MSDN cikket «Building Secure ASP.NET alkalmazások».
Impersonalizatsiya
A következő lépés - a ASP.NET konfiguráció fut nevében létrehozott fiókot. Ezt meg lehet tenni két módja van: világosan jelzi a név és a jelszó a web.config fájlt, vagy amíg a beállítások módosítása az IIS-kezelő és szerkesztő a web.config.
Ahhoz, hogy egyértelműen meg nevét és jelszavát, amelynek nevében fog futni ASP.NET hozzá részén
Egy ilyen eljárás megakadályozza elérését célunk -, hogy nem jelzik egyértelműen a jelszavakat az alkalmazás beállításait.
Mivel nem akarjuk, hogy explicit módon megadni a jelszót a web.config, majd távolítsa el a fenti konfiguráció, a felhasználói nevet és jelszót, ezzel lehetővé téve, hogy az IIS nevét adja meg a felhasználói fiók fut az ASP.NET munkavégző folyamat. rész
Most fut az IIS-kezelő, és nyissa meg a gyökér mappát a mi alkalmazás, menj a lap «Directory Security», nyomja meg az «Edit. „És a megjelenő párbeszédablakban adja meg a felhasználói nevét és jelszavát.
Végül indítsa újra az IIS parancsot: iisreset / újraindítás
Készítsen saját alkalmazás medence IIS6
Mert IIS6 legoptimálisabb módon, hogy megteremtse a saját alkalmazás medence. Poole IIS van kiválasztva munkafolyamat, amelyen belül vannak elrendezve különböző alkalmazásokhoz. Minden medence, beállíthatja a paramétereket a teljesítmény, hatékonyság és ellenőrzése, hogy a legfontosabb része a cikket, egy számlát, amelynek keretében az alkalmazások futnak. Ismét meg kell teremteni az azonos felhasználói fiókokat a webszerver és adatbázis szerver. Ahhoz, hogy hozzon létre egy új alkalmazás medence futás IIS-kezelő jobb gombbal az elemre «Application pool» és válassza ki a legördülő menüben «New -> Application Pool. ”. Bemutatjuk az új medence nevet és kattintson az OK gombra. Most nyissuk meg a tulajdonságait egy új medence a helyi menüből, menjen a lap «Identity» és adja meg a nevét és jelszavát a korábban létrehozott fiókot. Most meg kell adnia egy alkalmazást kell használni az új medencét. Nézzük fióktelepet nyitnak egy «weboldalak», válassza ki az alkalmazás könyvtárához, nyissa meg a tulajdonság párbeszédablakban a megfelelő lapon «Home Directory», és válassza ki a medence a legördülő «Application Pool» listán.
mellékhatások
Felhasználási megbízható kapcsolatok létesítő mellékhatásai. Ha a vegyületek nyitottak a különböző számlák, ezek a vegyületek nem tartoznak a kapcsolat medence. Ez növeli a terhelést az IIS és az SQL Server. Megbízható kapcsolatok is szükség több számítástechnikai erőforrásokat a hitelesítési folyamatban, míg az SQL hitelesítés, vagy hitelesített felhasználó nevét a Windows rendszer szolgáltatás kívül történik az SQL Server folyamatot. Ha a további terhet tartományi fiókok is esik tartományvezérlőknek. Mindenesetre biztos, hogy stressz teszt az alkalmazások a telepítés előtt!
következtetés
Nincs egyetlen „helyes” módja, hogy használja a megbízható kapcsolatok az ASP.NET. Lehet választani több módszer követelményeitől függően és alkalmazás igényeinek.