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:

  1. ASP.NET alatt fut a tartományi fiók
  2. Explicit felhasználói név és jelszó
  3. használata impersonalizatsii
  4. Másolatot készíthet az ASPNET fiók az SQL Server (IIS 5.x)
  5. 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 A web.config fájl

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 A web.config majd kinéznie:

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.