175

Web サイトを作成していますが、データベースでは Windows 認証を使用しています。

これを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>

Windows認証で動作するようにこれを変更するにはどうすればよいですか?

4

4 に答える 4

243

ユーザー名とパスワードを次のように置き換えますIntegrated Security=SSPI;

したがって、接続文字列は

<connectionStrings> 
<add name="NorthwindContex" 
   connectionString="data source=localhost;
   initial catalog=northwind;persist security info=True; 
   Integrated Security=SSPI;" 
   providerName="System.Data.SqlClient" /> 
</connectionStrings> 
于 2013-01-11T01:13:28.017 に答える
31

Windows認証を介してSQLサーバーデータベースに接続するには、基本的に、接続するサーバー、データベース名、統合セキュリティ情報、およびプロバイダー名が必要です。

基本的にこれは機能します:

<connectionStrings>      
<add name="MyConnectionString"
         connectionString="data source=ServerName;
   Initial Catalog=DatabaseName;Integrated Security=True;"
         providerName="System.Data.SqlClient" />
</connectionStrings> 

Integrated Securityフィールドをtrueに設定すると、基本的に Windows 認証を介してデータベースにアクセスすることを意味します。このフィールドをfalseに設定すると、 Windows 認証は機能しません。

また、使用しているプロバイダーによっても動作が異なります。

  • SqlClient両方 Integrated Security=true; またはIntegratedSecurity=SSPI; は働いている。

  • OleDbIntegrated Security=SSPI です。

  • Odbc Trusted_Connection=yes です
  • OracleClientIntegrated Security=yes です。

Integrated Security=true は、OleDb プロバイダーで使用すると例外をスローします。

于 2019-03-06T09:08:01.677 に答える