統合セキュリティを使用するアプリが2つあります。1つは接続文字列で割り当てIntegrated Security = true
、もう1つはを設定しますIntegrated Security = SSPI
。
統合セキュリティのコンテキストSSPI
との違いは何ですか?true
統合セキュリティを使用するアプリが2つあります。1つは接続文字列で割り当てIntegrated Security = true
、もう1つはを設定しますIntegrated Security = SSPI
。
統合セキュリティのコンテキストSSPI
との違いは何ですか?true
マイクロソフトによると、それらは同じものです。
の場合、接続時
false
にユーザーIDとパスワードを指定します。true の場合、現在の Windows アカウントの資格情報が認証に使用されます。
認識される値はtrue
、false
、yes
、no
およびsspi
(強く推奨) で、これは と同等true
です。
:)
.Net Reflector
の実際のコードを確認するために使用すると、多くの質問に答えが得られますが、それらは同じです。SqlConnection
true
sspi
internal class DbConnectionOptions
...
internal bool ConvertValueToIntegratedSecurityInternal(string stringValue)
{
if ((CompareInsensitiveInvariant(stringValue, "sspi") || CompareInsensitiveInvariant(stringValue, "true")) || CompareInsensitiveInvariant(stringValue, "yes"))
{
return true;
}
}
...
EDIT 20.02.2018 .Net Core では、github でオープン ソースを確認できます。ConvertValueToIntegratedSecurityInternal メソッドを検索します。
統合セキュリティ=False:ユーザーIDとパスワードが接続で指定されています。統合セキュリティ=true:現在のWindowsアカウントの資格情報が認証に使用されます。
統合セキュリティ=SSPI:これはtrueと同等です。
接続文字列からユーザー名とパスワードの属性を回避し、統合セキュリティを使用できます
始めましょうIntegrated Security = false
false
ユーザー ID とパスワードは、接続文字列で指定されます。
true
認証には Windows アカウントの資格情報が使用されます。
認識される値true
はfalse
、、、、、およびyes
です。no
SSPI
User ID
とPassword
が指定され、統合セキュリティが に設定されている場合true
、User ID
とPassword
は無視され、統合セキュリティが使用されます。
True は、.NET SqlClient ライブラリを使用している場合にのみ有効です。OLEDB を使用する場合は無効です。.net SqlClient ライブラリまたは OLEDB を使用している場合、どちらでも SSPI は使用できません。