2012-04-09 34 views
2

我們有一個PHP站點由Apache服務器託管。只有1個用戶拒絕訪問本地內部網頁

我們有一個從Windows服務器託管的.NET站點。

兩者都是內部的,在我們的域內。

當用戶訪問PHP站點時,它會檢查您的用戶名是否已被會話。如果沒有,它會執行一個回發到.NET「GetUsername.aspx」頁面的ajax GETGetUsername.aspx頁面簡單輸出Request.ServerVariables("LOGON_USER")

在IE中啓用.NET站點請求Windows身份驗證。我們所有的用戶都使用IE8。

爲了讓我們的PHP站點從.NET站點請求數據,必須啓用「訪問跨域數據」設置......並且它是。

爲了讓我們的.NET站點獲得您的用戶名,「啓用集成Windows身份驗證」必須是可以納入的......而且是。

.NET站點和PHP站點都是Intranet站點。如果您轉到Internet選項 - >本地Intranet - >站點 - >高級,則這兩個站點都在列表中。

在這一行:xmlhttp.open("GET","http://intranet.MySite.vmv/IS/GetUsername.aspx",false);

與消息JavaScript錯誤occurrs 「錯誤:訪問被拒絕。」

如果我在瀏覽器網址中鍵入相同的.NET頁面......它加載得很好,並顯示她的用戶名。


所有這些令人困惑的事情是,我們的政策更新(推出每次登錄)設置所有這些設置。我已驗證上述所有設置在我的瀏覽器上與在此用戶上的設置相同。我們兩個人都在同一個領域。

任何可能導致此問題的其他設置的想法?

謝謝!


編輯

,這裏是來自螢火蟲的結果...不似乎是非常有益的,只是表明我什麼,我們已經知道了。

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 
+1

您可以使用Fiddle或FireBug查看實際的網絡呼叫嗎? – kevingreen 2012-04-09 15:17:25

+1

您使用的是Internet Explorer,對不對? – jrummell 2012-04-09 15:21:06

+1

錯誤是因爲瀏覽器不允許跨域訪問。無論您設置爲允許跨域訪問的設置都不適用於該機器。 – AndrewR 2012-04-09 15:26:52

回答

1

嗯......這個問題似乎是與IE7。不知何故,這個用戶的版本並未與其他人一起升級。一旦我們升級到IE8,它就像預期的那樣工作。

相關問題