Tworzę serwis WWW, ale w bazie używam uwierzytelniania Windows.
Wiem, że używasz tego do uwierzytelniania SQL
<connectionStrings>
<add name="NorthwindContex"
connectionString="data source=localhost;
initial catalog=northwind;persist security info=True;
user id=sa;password=P@ssw0rd"
providerName="System.Data.SqlClient" />
</connectionStrings>
Jak zmodyfikować to, aby działało z uwierzytelnianiem systemu Windows?
Odpowiedzi:
Zastąp nazwę użytkownika i hasło na
Integrated Security=SSPI;
Więc parametry połączenia powinny być
<connectionStrings> <add name="NorthwindContex" connectionString="data source=localhost; initial catalog=northwind;persist security info=True; Integrated Security=SSPI;" providerName="System.Data.SqlClient" /> </connectionStrings>
źródło
Persist Security Info
prawdopodobnie nie jest potrzebne: stackoverflow.com/a/2010059/1869660Aby uzyskać prawidłowe rozwiązanie po wielu godzinach:
<add name="umbracoDbDSN" connectionString="data source=YOUR_SERVER_NAME;database=nrc;Integrated Security=SSPI;persist security info=True;" providerName="System.Data.SqlClient" />
Mam nadzieję, że to pomoże.
źródło
Aby połączyć się z bazą danych serwera sql za pośrednictwem uwierzytelniania systemu Windows, w zasadzie potrzebny jest serwer, z którym chcesz się połączyć, jaka jest nazwa bazy danych, informacje o zintegrowanych zabezpieczeniach i nazwa dostawcy.
Zasadniczo to działa:
<connectionStrings> <add name="MyConnectionString" connectionString="data source=ServerName; Initial Catalog=DatabaseName;Integrated Security=True;" providerName="System.Data.SqlClient" /> </connectionStrings>
Ustawienie pola Integrated Security na wartość true oznacza, że zasadniczo chcesz uzyskać dostęp do bazy danych za pośrednictwem uwierzytelniania systemu Windows, jeśli ustawisz to pole na wartość false uwierzytelnianie systemu Windows nie będzie działać.
Działa również inaczej w zależności od używanego dostawcy.
SqlClient both Integrated Security = true; lub IntegratedSecurity = SSPI; działa.
OleDb to Integrated Security = SSPI;
źródło
To jest krótsze i działa
<connectionStrings> <add name="DBConnection" connectionString="data source=SERVER\INSTANCE; Initial Catalog=MyDB;Integrated Security=SSPI;" providerName="System.Data.SqlClient" /> </connectionStrings>
Utrwalanie informacji o zabezpieczeniach nie jest potrzebne
źródło