PHP IIS Windows-Authentication per PHP-Script

M

mw197

Gast
Hallo Leute,

ich habe einen IIS mit PHP 5.6 in Betrieb.
Im Netzwerk gibt es mehrere Server, auf denen auch ein IIS läuft, wo dann allerdings ASP-Anwendungen drauf laufen. Bevor man diese ASP-Anwendungen öffnen kann, muss man sich mit seinem Domänen-Benutzer anmelden.
Die ständigen Logins auf allen Server sind wirklich sehr nervig, so dass ich das gerne vereinfachen möchte.

Mein Idee: Ich habe eine Oberfläche in PHP geschrieben, in der man sich per Domänen-Benutzer anmelden kann und dann sofort eine Liste mit allen Servern sieht.
Mit einem Klick auf einen Server aus der Liste, soll nun der Login im Hintergrund automatisch geschehen anhand des Benutzers der momentan an der PHP-Anwendung angemeldet ist (Zugangsdaten sind ja identisch).

Frage: Wie kann ich dem IIS nun die Zugangsdaten mitgeben/mitteilen?
Geschützt ist das ganze über den IIS mit der Authentifizierung "Windows-Authentifizierung".
Unbenannt.PNG

Bei Google habe ich nicht so wirklich etwas hilfreiches gefunden.
Per URL kann ich es leider nicht aufrufen, URL sei immer ungültig: https://benutzername:kennwort@172.16.0.54/aspweb

Jemand eine Idee, wie man das noch realisieren könnte, so dass man nur noch einen Login hat?

Danke im Voraus!
 
Reicht es nicht die Server mit den ASP-Anwendungen in der Intranet Zone des Internet Explorer per GPO einzutragen? Somit sollte der IE die Anwendungen ohne Abfrage der Zugangsdaten aufrufen - zumindest die Anwendung, die über Windows-Authentifizierung laufen.
 
Zuletzt bearbeitet:
Das funktioniert leider nicht. Habe ich gerade mal an einem Test-System ausprobiert. :(

Trotzdem danke. Vielleicht hat ja noch jemand eine Idee :)
Ergänzung ()

Habe auf einem ASP-Server gerade einmal testweise PHP installiert und mit mal die $_SERVER-Variable ausgeben lassen. Dort gibt es nach dem Login die Werte:
Code:
[LOGON_USER] => Administrator
[REMOTE_USER] => Administrator
[AUTH_USER] => Administrator
[AUTH_PASSWORD] => geheim
[PHP_AUTH_USER] => Administrator
[PHP_AUTH_PW] => geheim

Vielleicht kriege ich damit etwas hin :|
Ergänzung ()

Hey,

habe mit CURL ein wenig ausprobiert, damit komme ich schon mal weiter als sonst. Ich kann mir am Ende mit ECHO die Website ausgeben lassen, so dass ich wirklich den Inhalt nach dem Login sehe. Rufe ich dann aber den Link auf, fragt er trotzdem nach Zugangsdaten. Wahrscheinlich initiiert er mir keine Session so wirklich.

Jemand eine Idee, wie ich das schaffe, dass der Login quasi "korrekt" durchgeführt wird und nicht nur eine Seite geladen wird?
PHP:
$login = 'administrator';
$password = 'geheim';
$url = 'http://172.16.0.54/aspweb/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_USERPWD, $login.':'.$password);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION , false);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
$result = curl_exec($ch);
curl_close($ch);  
echo $result;
 
Zuletzt bearbeitet:
Zurück
Oben