Странная проблема: пользователь IE8 не может пройти аутентификацию в веб-службе

У меня есть приложение asp.net. У него есть страница, требующая аутентификации. Аутентифицированный пользователь может просматривать страницу, потому что он/она аутентифицирован. Страница выполняет вызов jQuery Ajax к службе WCF. Служба WCF проверяет, что пользователь прошел проверку подлинности через HttpContext. У меня есть пользователь, который использует WinXP и IE8. Этот пользователь может аутентифицироваться на странице, но когда вызов Ajax выполняется со страницы в службу wb, пользователь получает мое сообщение «сеанс не аутентифицирован» на странице, сгенерированное службой и отображаемое на странице. Когда я использую одну и ту же комбинацию ОС и браузера, страница и служба работают нормально, как и ожидалось; нет ошибок.

Какой параметр в настройках IE этого пользователя может вызвать такое поведение?


person NovaJoe    schedule 08.06.2010    source источник


Ответы (1)


Оказывается, я просто был глуп и нарушал принцип «единого происхождения». Мой сервис находился на mydomain.com, а мой пользователь, вероятно, находился на странице www.mydomain.com. Служба потерпит неудачу, потому что домены не совпадают полностью. Итак, я установил некоторые правила перезаписи на сервере, чтобы независимо от того, какой вариант домена запрашивал браузер, он всегда перезаписывался на www.mydomain.com. Затем я просто установил вызов службы для этого домена (или, в данном случае, просто использовал window.location.hostname), и все проблемы были решены. Момент большого "D'oh".

person NovaJoe    schedule 21.06.2010