- ASP.NET MVC2
- .NET 3.5
- FormsAuthentication
- URL: domain.com/myapp
- Проблемная область: создается динамическиPDF-файлы возвращались как FileContentResult
До IE8 все работало нормально.В IE8, когда пользователь открывает PDF-файл и затем возвращается в приложение, он теряет свою аутентификацию.Я добавил срок действия в файл cookie проверки подлинности форм, и проблема оказалась решенной.Однако позже я обнаружил, что та же проблема возникает в родительском приложении.С постоянным cookie-файлом, когда пользователь продолжает работу в моем приложении (domain.com/myapp), все в порядке, но когда он возвращается в окно родительского приложения (domain.com), он теряет свою аутентификацию.Родительское приложение использует проприетарную архитектуру аутентификации и авторизации, основанную на состоянии сеанса.
Итак, мое понимание проблемы заключается в том, что FileSystemResult не несет никакой информации о сеансе и, следовательно, сеанс теряется.Я понимаю, что, добавив срок действия файла cookie, файл cookie сохраняется, и это позволяет авторизации сохраняться в моем приложении, даже когда документы открыты.
Я не совсем понимаю, почему добавление истечения срока действия к моему cookie переместило проблему в родительское приложение. Итак, я ошибался, это происходило все время в родительском приложении.Интересно, что когда я подключил Fiddler, чтобы посмотреть, что происходит, проблема исчезла.
У вас есть предложения, чтобы решить эту проблему?Я не могу думать ни о чем, кроме чего-то действительно уродливого, например, записать файл на сервер и вернуть страницу со ссылкой, чтобы открыть файл напрямую.
На основании этого вопроса Я думаюЯ накрылся.