Обнаружена проблема. Файлы cookie проверки подлинности с помощью форм не распределяются между запросами к службе.
Файл cookie «.ASPXAUTH» успешно создан и отправлен в браузер из службы входа в систему, но не отправляет файл cookie для последующих запросов к той же службе.
Обнаружено при вызове службы из облачного приложения запрос с использованием HTTP 1.1, а для ответа - HTTP 1.0.
Дополнительные наблюдения с пользователем Fiddler и других инструментов:
Работает нормально при следующих обстоятельствах:
- Запуск службы и клиентского веб-сайта из локальной системы разработки
- Служба хостинга и клиент в одном IIS (локальный и удаленный)
- Доступ на основе URL-адресов, файлы cookie передаются правильно
Не работает при следующих обстоятельствах:
- Служба хостинга и клиент на разных серверах IIS.
- Служба хостинга в IIS (или Azure) и клиент из локальной системы разработки
Еще немного подробностей: оба запроса сделаны для одной и той же службы, т.е. одного и того же домена, одного и того же протокола, одного и того же номера порта и т. д.
Обновления от 20 декабря 2012 г., 15:14:
Как я уже говорил ранее, функция входа в систему работает с вызовом Ajax в обязательном порядке, Fiddler показывает Set-Cookie при ответе, но браузер не читает файл cookie.
Пытался прочитать document.cookies в событии "complete:" $.Ajax(), но не смог прочитать файл cookie. означает, что браузер не получает или не удерживает файл cookie (где Fiddler показывает то же самое)
С уважением, Рамакришна.