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.

19voto

kudlatiger Punkte 2619

Lassen Sie mich beginnen mit Integrated Security = false

false Benutzer-ID und Passwort werden in der Verbindungszeichenfolge angegeben.
true Für die Authentifizierung werden die Anmeldedaten des Windows-Kontos verwendet.

Anerkannte Werte sind true , false , yes , no et SSPI .

Si User ID y Password angegeben sind und die integrierte Sicherheit auf true entonces User ID y Password wird ignoriert und die integrierte Sicherheit wird verwendet

8voto

user1874524 Punkte 801

Beachten Sie, dass Verbindungsstrings spezifisch sind für なにごと y wie Sie stellen eine Verbindung zu Daten her. Diese stellen eine Verbindung zu derselben Datenbank her, aber die erste verwendet den .NET Framework Data Provider für SQL Server. Integrated Security=True funktioniert nicht für OleDb.

  • Datenquelle=.;Ursprungskatalog=aspnetdb;Integrierte Sicherheit=True
  • Provider=SQLOLEDB;Data Source=.;Integrated Security=SSPI;Initial Catalog=aspnetdb

Im Zweifelsfall verwenden Sie die Datenverbindungen des Visual Studio Server Explorer.

7voto

Amit Shishodia Punkte 97

True ist nur gültig, wenn Sie die .NET SqlClient-Bibliothek verwenden. Es ist nicht gültig, wenn Sie OLEDB verwenden. Wo SSPI ist bvaid in beiden entweder Sie sind mit .net SqlClient-Bibliothek oder OLEDB.

0voto

Sathishkumar Punkte 223

Meiner Ansicht nach,

Wenn Sie die integrierte Sicherheit=SSPI nicht verwenden, müssen Sie den Benutzernamen und das Kennwort in der Verbindungszeichenfolge hart codieren, was "relativ unsicher" bedeutet, weil alle Mitarbeiter Zugang haben und sogar ehemalige Mitarbeiter die Informationen böswillig verwenden könnten.

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