Hallo zusammen,
ich stehe mal wieder vor einem sehr seltsamen IE Problem.
Ich verwende auf meinem Apache2 das sspi_auth_module Module um Benutzer zu authentifizieren.
Die Authentifizierung findet aber nur über eine bestimmte URL statt.
Meine Virtual Host sieht so aus:
<VirtualHost *:8007>
DocumentRoot C:/dev/xampp/htdocs/Entwicklung/intranet
ServerName ko006wxp-dev.XY.local
ErrorDocument 401 /index.php?id=30
<LocationMatch /fakelogin.php>
AuthName "Intranet"
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIDomain korouter.XY.local
SSPIOmitDomain on
SSPIUsernameCase lower
SSPIPerRequestAuth on
SSPIOfferBasic On
require valid-user
</LocationMatch>
</VirtualHost>
Mir ist im IE nun aufgefallen das irgendwie alle Formulare nicht mehr funktionieren, es kommen einfach keine Daten mehr an.
Nach etwas debuggen fand ich raus, dass der IE6,7 und 8 keine POST-Daten mehr schicken sobald auf dem virtuellen Server eine NTML Authentifizierung durchgeführt wurde. Es wird stattdessen nur das Authorization Feld im Header gesetzt. Das ganze passiert solange bis man alle Browserinstanzen schließt. Danach geht es wieder solange bis eine NTML Authentifizierung durchgeführt wird.
Der Testablauf sah wie folgt aus:
1. Testskript http://ko006wxp-dev:8007/test.php aufrufen und Formular abschicken
Post-Request:
Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Referer: http://ko006wxp-dev:8007/test.php
Accept-Language: de
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.5.30729; .NET CLR 3.0.4506.2152)
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: ko006wxp-dev:8007
Content-Length: 55
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: fe_typo_user=183b5293bbb5e579f09a914142210c98
logintype=logout&pid=5&tx_felogin_pi1%5Bnoredirect%5D=0
2. Skript http://ko006wxp-dev:8007/fakelogin.php aufrufen und Authentifizierung durchführen,
3. Wieder das Testskript http://ko006wxp-dev:8007/test.php aufrufen und das gleiche Formular noch mal senden
Post-Request:
POST /test.php?id=123 HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Referer: http://ko006wxp-dev:8007/test.php
Accept-Language: de
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.5.30729; .NET CLR 3.0.4506.2152)
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: ko006wxp-dev:8007
Content-Length: 0
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: fe_typo_user=183b5293bbb5e579f09a914142210c98
Authorization: NTLM TlZMRVNTUAABAAAAB7IIogUABQAwZZZZCAAIACgAAAAFASgKAAAAD0tPMDA2V1hTS1ZRTZA
Wie man sieht sind beim erneuten POST die Daten auf einmal weg...
Was mich total wundert ist, das die test.php ja eigentlich nichts mit dem sspi Module zu tun hat, da es ja in der Location Direktive steht.
Hat jemand eine Idee wo die Ursache dafür liegen könnte oder wie man das Problem lösen kann?
Danke für eure Zeit
Alex