Wir haben eine PHP-Site von einem Apache-Server gehostet.Zugriff auf lokale Intranetseite für nur 1 Benutzer verweigert
Wir haben eine .NET-Site von einem Windows-Server gehostet.
Beide sind intern und innerhalb unserer Domäne.
Wenn ein Benutzer auf die PHP-Site zugreift, prüft er, ob Ihr Benutzername eingegeben wurde. Wenn nicht, macht es einen Ajax GET
Postback auf die .NET "GetUsername.aspx
" Seite. Die GetUsername.aspx
Seite gibt einfach Request.ServerVariables("LOGON_USER")
aus
Die .NET-Site erfordert Windows-Authentifizierung in IE aktiviert werden. Alle unsere Benutzer benutzen IE8.
Damit unsere PHP-Site Daten von der .NET-Site anfordern kann, muss eine Einstellung "Auf domänenübergreifende Daten zugreifen" aktiviert sein ... und es ist.
Damit unsere .NET-Site Ihren Benutzernamen erhält, muss "Enable Integrated Windows Authentication" aktiviert sein ... und es ist.
Sowohl die .NET-Site als auch die PHP-Site sind Intranetsites. Wenn Sie zu Internetoptionen -> Lokales Intranet -> Sites -> Erweitert gehen, befinden sich beide Sites in der Liste.
An dieser Linie: xmlhttp.open("GET","http://intranet.MySite.vmv/IS/GetUsername.aspx",false);
ein JavaScript-Fehler occurrs mit der Meldung "Fehler: Zugriff verweigert wird."
Wenn ich dieselbe .NET-Seite in die URL des Browsers eintippe ... lädt sie einfach und zeigt ihren Benutzernamen an.
Das Verwirrende an all dem ist, dass unsere Richtlinienaktualisierungen (bei jedem Login ausgeschoben) alle diese Einstellungen setzen. Ich habe überprüft, dass alle oben genannten Einstellungen in meinem Browser die gleichen sind wie bei diesen Benutzern. Wir sind beide in derselben Domäne.
Irgendwelche Ideen von einer anderen Einstellung, die dies verursachen könnte?
Danke!
EDIT
hier die Ergebnisse von Firebug sind ... scheint nicht sehr hilfreich zu sein, zeigt mir genau das, was wir schon kannten.
http://intranet.MyCompany.vmv/IS/GetUsername.aspx
401 Unauthorized
20ms
login (line 103)
HeadersResponseHTML
Response Headers
Content-Length 1656
Content-Type text/html
Date Mon, 09 Apr 2012 16:15:33 GMT
Server Microsoft-IIS/6.0
WWW-Authenticate Negotiate NTLM
X-Powered-By ASP.NET
Request Headers
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Accept-Encoding gzip, deflate
Accept-Language en-us,en;q=0.5
Connection keep-alive
Host intranet.MyCompany.vmv
Origin http://192.168.1.2:10078
Referer http://192.168.1.2:10078/login
User-Agent Mozilla/5.0 (Windows NT 5.1; rv:8.0.1) Gecko/20100101 Firefox/8.0.1
Können Sie mit Fiddle oder FireBug den tatsächlichen Netzwerkanruf anzeigen? – kevingreen
Sie verwenden den Internet Explorer, oder? – jrummell
Der Fehler liegt darin, dass der Browser keinen domänenübergreifenden Zugriff zulässt. Die Einstellung, die Sie für den domänenübergreifenden Zugriff festlegen, funktioniert auf diesem Computer nicht. – AndrewR