ApacheサーバーからホストされているPHPサイトがあります。
Windowsサーバーからホストされている.NETサイトがあります。
どちらも内部であり、ドメイン内にあります。
ユーザーがPHPサイトにアクセスすると、ユーザー名がセッションされているかどうかがチェックされます。そうでない場合は、 .NET" "ページGET
へのajaxポストバックを実行します。GetUsername.aspx
ページはGetUsername.aspx
単に出力しますRequest.ServerVariables("LOGON_USER")
.NETサイトでは、IEでWindows認証を有効にする必要があります。すべてのユーザーがIE8を使用しています。
PHPサイトが.NETサイトからデータを要求するには、「ドメイン間でデータにアクセスする」設定を有効にする必要があります...有効になっています。
.NETサイトでユーザー名を取得するには、「統合Windows認証を有効にする」を有効にする必要があります...有効です。
.NETサイトとPHPサイトはどちらもイントラネットサイトです。[インターネットオプション]->[ローカルイントラネット]->[サイト]->[詳細設定]に移動すると、両方のサイトがリストに表示されます。
この行で:xmlhttp.open("GET","http://intranet.MySite.vmv/IS/GetUsername.aspx",false);
「エラー:アクセスが拒否されました」というメッセージとともにJavaScriptエラーが発生します。
同じ.NETページをブラウザのURLに入力すると、正常に読み込まれ、ユーザー名が表示されます。
これらすべてについて紛らわしいのは、ポリシーの更新(ログインごとにプッシュされる)によってこれらの設定がすべて設定されることです。上記のすべての設定が、このユーザーの場合と同じであることがブラウザで確認されました。私たち二人は同じドメイン内にいます。
これを引き起こしている可能性のある他の設定のアイデアはありますか?
ありがとう!
編集
これがfirebugの結果です...あまり役に立たないようです。私たちがすでに知っていることを示しているだけです。
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