2012-04-09 1 views
2

У нас есть сайт PHP, размещенный с сервера Apache.доступ запрещен на страницу локальной интрасети только для 1 пользователя

У нас есть сайт .NET, размещенный на сервере Windows.

Оба являются внутренними и внутри нашего домена.

Когда пользователь обращается к сайту PHP, он проверяет, было ли ваше имя пользователя занято. Если нет, он возвращает ajax GET на страницу .NET «GetUsername.aspx». Страница GetUsername.aspx просто выдает Request.ServerVariables("LOGON_USER")

Сайт .NET требует, чтобы аутентификация Windows включалась в IE. Все наши пользователи используют IE8.

Чтобы наш сайт PHP запрашивал данные с сайта .NET, должен быть включен параметр «Доступ к данным через домены» ... и это так.

Чтобы наш сайт .NET получил ваше имя пользователя, «Включить встроенную проверку подлинности Windows» необходимо заблокировать ... и это так.

И сайт .NET, и сайт PHP являются сайтами интрасети. Если вы перейдете в «Свойства обозревателя» -> «Местная интрасеть» -> «Сайты» -> «Дополнительно», оба списка находятся в списке.

На этой линии: xmlhttp.open("GET","http://intranet.MySite.vmv/IS/GetUsername.aspx",false);

Javascript возникнет ошибка с сообщением «Ошибка: отказано в доступе.»

Если я нахожу ту же страницу .NET в URL-адрес браузера, он загружается просто отлично и показывает свое имя пользователя.


Запутанной вещь обо всем этом является то, что наши обновления политики (вытеснены на каждом входе) установить все эти параметры. Я подтвердил, что все указанные выше настройки одинаковы в моем браузере, как и у этих пользователей. Мы оба находимся в одном домене.

Любые идеи некоторых других установок, которые могут быть причиной этого?

Спасибо!


EDIT

вот результаты поджигатель ... не кажется, что будет очень полезно, просто показывает мне, что мы уже знали.

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

+1

Вы используете Internet Explorer, правильно? – jrummell

+1

Ошибка связана с тем, что браузер не разрешает доступ к перекрестному домену. Какую бы настройку вы не разрешили, чтобы междоменный доступ не работал на этом компьютере. – AndrewR

ответ

1

Ну ... вопрос, как представляется, с IE7. Как-то версия этого пользователя не была обновлена ​​всеми остальными. Как только мы обновили ее до IE8, она работала так, как ожидалось.