我們有一個PHP站點由Apache服務器託管。只有1個用戶拒絕訪問本地內部網頁
我們有一個從Windows服務器託管的.NET站點。
兩者都是內部的,在我們的域內。
當用戶訪問PHP站點時,它會檢查您的用戶名是否已被會話。如果沒有,它會執行一個回發到.NET「GetUsername.aspx
」頁面的ajax GET
。 GetUsername.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
您可以使用Fiddle或FireBug查看實際的網絡呼叫嗎? – kevingreen 2012-04-09 15:17:25
您使用的是Internet Explorer,對不對? – jrummell 2012-04-09 15:21:06
錯誤是因爲瀏覽器不允許跨域訪問。無論您設置爲允許跨域訪問的設置都不適用於該機器。 – AndrewR 2012-04-09 15:26:52