Fragensteller
PHP/MS-SQL-Server: DB-Anmeldung mit einem anderen Windows-Benutzer möglich?

Frage
-
Hallo zusammen,
ich hätte da eine Frage zur Kombination PHP/MS-SQL-Server:
Mir ist bekannt, dass es beim Datenbankzugriff die Wahl gibt zwischen Windows-Autentifizierung und SQL-Server-Autentifizierung.
Nun interessiert mich, ob es auch die Möglichkeit gibt, sich unter PHP mit einem anderen (als dem aktuellen) Windows-Benutzer am SQL-Server anzumelden.
Hintergrund ist der:
Wir möchten bei einer Intranet-Anwendung - wenn es technisch irgendwie geht - mit der vorhandenen Unternehmens-Benutzerdatenbank des Windows-Domänencontrollers (Active Directory) arbeiten und nicht - extra für diese Intranet-Anwendung - eine zweite (identische) Benutzerdatenbank im SQL-Server anlegen.
Weiß zufällig jemand, ob es die o.g. Möglichkeit gibt?
Gruß
Tommy
Alle Antworten
-
sich unter PHP mit einem anderen (als dem aktuellen) Windows-Benutzer am SQL-Server anzumelden.
Hallo Tommy,
das wäre ein impersonate; ob das mit PHP möglich ist, weiß ich nicht.
Grundsätzlich wird der Windows Account, unter dem der Webserver läuft, für die Anmeldung verwendet. Du könntest also einen anderen Windows Account für den Dienst verwenden.
Wieso siehst Du eine zweite DB als alternative Lösung, das habe ich so gar nicht verstanden. Du kannst doch auch so SQL Login verwenden.
Olaf Helper
Blog Xing -
Hallo Olaf,
mmmhhh, da scheint es ein Missverständnis zu geben. Ich will eben keine zweite Benutzerdatenbank. Ich will, dass jeder Benutzer mit seinem Windows-Account die Datenbank ansteuert. Genau das ist ja meine Frage: Geht das? Und wie mache ich das im PHP-Code?
Gruß
Thomas
-
Hallo Thomas,
wenn Du im ConnectionString "Trusted_Connection=True" bzw. "Integrated Security=SSPI" angibst, erfolgt die Anmeldung an den SQL Server mit dem aktuellen Windows Account; siehe http://www.connectionstrings.com/sql-server-2008
Das Du keine zweite DB haben willst, habe ich schon verstanden; aber Deinem ersten Post nach, siehst Du das als Alternative und das habe ich nicht verstanden.
Olaf Helper
Blog Xing -
Hallo Olaf,
sorry, dass ich mich erst jetzt melde.
Also, es ist so:
Für diese Intranet-Anwendung, die aber auch extern, also im Internet, funktionieren soll, gibt es eine Tabelle mit Benutzerzugängen. Die Idee meines Chefs war die, dass nach dem erfolgreichen Login über die PHP-Anmeldemaske der Zugriff auf die Datenbank über den Domänenbenutzer genau dieser Person erfolgt.
Er verspricht sich davon, dass wir
a ) die SQL-Server-eigenen Protokollierungsmöglichkeiten nutzen können undb ) nicht noch einmal alle Personen einen eigenen SQL-Account bekommen müssen.
Habe mich die letzten Tage ein wenig umgehört und bin mir jetzt auch sicher, dass das nicht hinhaut. Vermute, dass Microsoft das nicht anbietet, was weiß ich, aus Sicherheitsgründen, vielleicht steckt da die Idee dahinter, dass es nicht via WWW die Möglichkeit geben soll, mit der Identität anderer Personen irgendwelchen Mist im Windows-LAN zu verbocken. Das vermute ich mal. Vielleicht ist das auch vom Prinzip her etwas, das bisher noch keiner außer mir haben wollte :-)
Danke Dir für Dein Feedback.
Gruß
Thomas
-
Hallo Thomas,
nach einem anwendungseigenenen Login per PHP, ASP, ASP.NET, ... gibt es keinen Windowsbenutzer, mit dem man arbeiten könnte.
Wenn Du das machen willst, muss die Webanwendung per Windowsauthentifizierung arbeiten (kann man im IIS entsprechend einstellen) und Impersonation verwenden. Siehe dazu:
http://serverfault.com/questions/282806/should-i-impersonate-php-via-fastcgi
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community