636 Stimmen

Was ist der Unterschied zwischen Integrierte Sicherheit = Wahr und Integrierte Sicherheit = SSPI?

Ich habe zwei Anwendungen, die integrierte Sicherheit verwenden. Eine weist zu Integrated Security = true in der Verbindungszeichenfolge, und die anderen Sätze Integrated Security = SSPI .

Was ist der Unterschied zwischen SSPI et true im Kontext der integrierten Sicherheit?

83 Stimmen

Die akzeptierte Antwort ist nicht die beste, aber auch nicht völlig richtig. Integrated Security = True o SSPI sind nicht gleich. Integrated Security=true; funktioniert nicht in allen SQL-Providern, sondern löst eine Ausnahme aus, wenn es mit dem OleDb Anbieter. Also grundsätzlich Integrated Security=SSPI; wird bevorzugt, da es sowohl mit SQLClient & OleDB Anbieter. Zur besseren Klärung habe ich eine Antwort hinzugefügt.

4 Stimmen

@PranavSingh hat die richtige Idee, diese Frage ist unvollständig, wenn Sie nicht angeben, welche Anbieter die Sie verwenden. Verschiedene Anbieter akzeptieren und/oder übersetzen verschiedene Zeichenfolgen in interne Zustände.

0 Stimmen

Obwohl sie gleich sind, glaube ich, dass es ein sehr altes Dokument in einer der Websites, zu der Zeit war ich neugierig, wie Sie, das sagte, wenn Sie für Windows Mobile (nicht, was Sie heute sehen, die alten Geräte, die ich erinnere mich nicht an die OS-Suffix, da ich nie eine hatte) entwickeln, sollten Sie SSPI und User Password zusammen verwenden. aber da ich nie eine geschrieben, und ich erinnere mich nicht an die Quelle dieses Dokuments, kann ich nicht garantieren.

494voto

cptScarlet Punkte 5746

Selon Microsoft sie sind dasselbe.

Cuando false Benutzer-ID und Passwort werden in der Verbindung angegeben. Bei true werden die aktuellen Windows-Kontoinformationen zur Authentifizierung verwendet.
Anerkannte Werte sind true , false , yes , no et sspi (dringend empfohlen), was gleichbedeutend ist mit true .

245voto

Pranav Singh Punkte 14615

Integrated Security=true; funktioniert nicht in allen SQL-Anbietern, sondern löst eine Ausnahme aus, wenn es mit dem OleDb Anbieter.

Also grundsätzlich Integrated Security=SSPI; wird bevorzugt, da es sowohl mit SQLClient & OleDB Anbieter.

Hier ist der vollständige Satz von Syntaxen gemäß MSDN - Syntax der Verbindungszeichenfolge (ADO.NET)

! Windows Auth Syntax

80voto

Asereware Punkte 979

Verwendung der Windows-Authentifizierung

Für die Verbindung mit dem Datenbankserver wird die Verwendung der Windows-Authentifizierung empfohlen, die allgemein als integrierte Sicherheit bezeichnet wird. Um die Windows-Authentifizierung festzulegen, können Sie eines der beiden folgenden Schlüssel-Wert-Paare mit dem Datenanbieter verwenden. NET Framework für SQL Server:

 Integrated Security = true;
 Integrated Security = SSPI;

Allerdings funktioniert nur die zweite Variante mit dem Datenanbieter .NET Framework OleDb . Wenn Sie die Integrated Security = true für ConnectionString wird eine Ausnahme ausgelöst.

So geben Sie die Windows-Authentifizierung im Datenanbieter an. NET Framework für ODBC anzugeben, sollten Sie das folgende Schlüssel-Wert-Paar verwenden.

Trusted_Connection = yes;

Fuente: MSDN: Arbeiten mit Verbindungsstrings

37voto

Pavel Biryukov Punkte 991

Viele Fragen werden beantwortet, wenn wir die .Net Reflector um den aktuellen Code von SqlConnection :) true y sspi sind identisch:

internal class DbConnectionOptions

...

internal bool ConvertValueToIntegratedSecurityInternal(string stringValue)
{
    if ((CompareInsensitiveInvariant(stringValue, "sspi") || CompareInsensitiveInvariant(stringValue, "true")) || CompareInsensitiveInvariant(stringValue, "yes"))
    {
        return true;
    }
}

...

BEARBEITEN 20.02.2018 Jetzt in .Net Core können wir seine Open Source auf github sehen! Suchen Sie nach ConvertValueToIntegratedSecurityInternal Methode:

https://github.com/dotnet/corefx/blob/fdbb160aeb0fad168b3603dbdd971d568151a0c8/src/System.Data.SqlClient/src/System/Data/Common/DbConnectionOptions.cs

27voto

NITIN KAUSHIK Punkte 261

Integrierte Sicherheit = Falsch : Benutzer-ID und Passwort werden in der Verbindung angegeben. Integrierte Sicherheit = true : Die aktuellen Anmeldeinformationen des Windows-Kontos werden für die Authentifizierung verwendet.

Integrierte Sicherheit = SSPI: dies ist gleichbedeutend mit wahr.

Wir können die Attribute Benutzername und Kennwort in der Verbindungszeichenfolge vermeiden und die integrierte Sicherheitsfunktion verwenden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X