Einzelnen Beitrag anzeigen

Benutzerbild von ogiesen
ogiesen

Registriert seit: 25. Okt 2004
Ort: Delmenhorst
43 Beiträge
 
Delphi XE3 Enterprise
 
#3

Re: ADO > MSSQL: Zweistufige Authentifizierung, aber wie?

  Alt 29. Okt 2004, 12:54
Zitat von clues1:
Hi, in meinen EDB Komponenten (siehe Open Source) habe ich das so in etwa gemacht:
function TEDBConnect.CreateDBConnection(AEDBTyp: TEDBTyp; DataSource: string; InitDB: string; UN: String; PW: String; ShowMsg: boolean=false; AccessDBPW: String = ''; WindowsSecurity: boolean=false): boolean;
Schön und gut, aber:

1. Dafür müßte ich mir die einzelnen Connection-Parameter nochmal extra irgendwo merken, was ich eigentlich vermeiden möchte, um so flexibel wie möglich zu bleiben. Idealerweise schreibt die Installationsroutine des Programms den kundenspezifischen ConnectionString in die Registry und das Programm verwendet diesen dann beim Start als Ausgangswert. Um in diesem Szenario Deine Prozedur verwenden zu können, müßte ich den vorhandenen ConnectionString ja erst wieder in seine Bestandteile parsen, was mir eigentlich zu aufwendig erscheint.

2. Funktioniert auf diese Weise auch das zweistufige Login, auf das meine Frage ja eigentlich gerichtet war? D.h. soetwas wie:

Delphi-Quellcode:
if not CreateDBConnection(..., True) then
  begin
    <Username und Passwort abfragen>
    CreateDBConnection(..., False);
  end;
Meinen Tests nach vermutlich schon, aber es bleibt immernoch Problem 1...


Am idealsten wäre es meiner Meinung nach, wenn ich entweder einfach das Integrated Security Property löschen könnte oder zumindest auf einen Wert setzen könnte, der bewirkt, daß eben keine SSPI-Authentifizierung stattfindet. Sowas wie 'No' oder 'False' oder so... Bis jetzt hab' ich aber weder auf MSDN noch per Google irgendwas derartiges finden können.

Erschwerend kommt hinzu, daß ich mittlerweile festgestellt habe, daß anscheinend kein "gemischter" Zugriff auf die Verbindungseigenschaften möglich ist: Sobald ich einmal schreibend auf die Properties zugegriffen habe, werden alle programmatischen Änderungen am ConnectionString ignoriert...

Trotzdem vielen Dank für den Vorschlag! Vielleicht läuft's ja am Ende doch noch auf's ConnectionString-parsen raus, dann kann ich damit denke ich doch noch was anfangen.

Oliver
Oliver Giesen
  Mit Zitat antworten Zitat