2009-06-25 7 views
5

Mam 2 ustawienia serwerów w tej chwili. Jednym z nich jest serwer WWW z systemem Win Server 08, a drugi to serwer bazy danych z programem SQL Server 08 na Win Server 08.ciąg połączenia dla zdalnego serwera bazy danych

Obecnie mam konfigurację strony, dzięki której można ją odczytać/zapisać w bazie danych za pomocą ciągu połączenia Stworzyłem nazwę bazy danych, serwer ip, db user i db pwd. Utworzony przeze mnie użytkownik bazy danych ma "publiczną" konfigurację ról w bazie danych (nie właściciela bazy danych db) i może po prostu uruchamiać przechowywane procedury exec. Moje ciąg połączenia aktualnie wygląda tak:

<add name="SiteDBConn" connectionString="Server=IPOfServer;Database=DBname;User ID=userhere;Password=passhere;"/> 

Chociaż to działa idealnie dla mnie, chciałbym, aby ustawić ciąg połączenia bazy danych, które nie zawierają żadnych nazwę użytkownika i hasło. Na niektórych moich innych serwerach, gdzie serwer SQL znajduje się na tym samym serwerze, co pliki sieciowe, mogę korzystać z zaufanego połączenia i korzystać z wbudowanego użytkownika "Usługa sieciowa" w mojej bazie danych. To pozwala mi uruchomić ciąg połączenia bez nazwy użytkownika i hasła tak:

<add name="SiteDBConn" connectionString="Server=localhost;Database=DBname;Trusted_Connection=Yes;"/> 

Czy istnieje prosty sposób na uzyskanie połączenia z bazą danych bez hardcoding nazwę użytkownika i hasło - podobnie jak powyżej ciąg połączenia - przy użyciu 2 różne serwery? Czy marnuję czas na tę trasę, widząc, że utworzony przeze mnie użytkownik bazy ma uprawnienia tylko do wykonywania?

Dzięki za twoje przemyślenia na ten temat.

Odpowiedz

5

Nie marnujesz swojego czasu. To bardzo dobra praktyka. Kiedy oddzielić IIS i SQL na oddzielnych maszynach, oto kilka opcji:

  • Tworzenie użytkownik ASP.NET zarówno na polu IIS i SQL serwer (najlepiej z tego samego hasła)
  • Korzystanie personifikacji (zmiana kontekst witryna działa pod)
  • zaszyfrować ciąg połączenia w rejestru plik konfiguracyjny i zapomnieć o zaufanych połączeń (brrrr)
  • przełącznik kontekst asp.net być użytkownik domeny
  • Wykorzystanie w IIS6 tryb natywnej aplikacji
+0

Dzięki za opinię. Jeśli chodzi o podszywanie się, czy znasz jakieś dobre przewodniki lub instrukcje do tego ustawienia? Twoje zdrowie. –

+0

właściwie zadrapać to ostatnie pytanie. Pomiędzy artykułem a tym pytaniem mam informacje, których potrzebuję. Dzięki. http://stackoverflow.com/questions/982216/database-connections-work-fine-when-application-is-run-od-localhost-login-fai –

1

Jeśli 2 serwery nie znajdują się w tej samej domenie systemu Windows, nie można używać zaufanego połączenia.

Ponadto login musi być utworzony jako uwierzytelnianie systemu Windows, nie można używać logowania uwierzytelniającego SQL z zaufanym połączeniem.

W przeciwnym razie wszystko, co Tapori powiedział.