Этот пост может быть немного запоздалым, но я недавно рассмотрел эту конкретную проблему для приложения Grails.Много лет назад та же проблема возникла в веб-приложении Java, которое я создал, когда Internet Explorer блокировал файлы cookie (параметры конфиденциальности).Чтобы веб-приложение Java и JavaScript могли записывать файлы cookie на основной странице или в IFRAME в Internet Explorer, из веб-приложения была отправлена политика конфиденциальности.Microsoft по-прежнему поддерживает формат политики конфиденциальности под названием Платформа для настроек конфиденциальности (P3P) .Этот формат не поддерживается в других современных браузерах, но он помогает решить проблемы с файлами cookie IE.Несмотря на проблемы с поддержкой IE3 в P3P, я успешно протестировал следующие настройки P3P со строгой проверкой.
1) Определите необходимые категории для вашего приложения.Для моего приложения требовались категории интерактивные , и uniqueid для правильной работы.Коды компактной политики перечислены на сайте спецификации P3P
Category Compact
-------- -------
interactive => INT
navigation => NAV
uniqueid => UNI
2) Определите, будет ли работать только компактная политика.Для моего приложения достаточно компактного заголовка политики.Если вам требуется файл политики, просмотрите некоторые примеры файлов здесь: http://p3pbook.com/examples.html.
3) Приведенный ниже код является очень упрощенным примером, но все же должен иллюстрировать шаги, которые нужно выполнить.
HttpServletResponse response = (HttpServletResponse) res;
String policySettings = policyFileExists ? "policyref='" + policyFilePath + "', " : "";
policySettings += "CP='INT NAV UNI'";
response.setHeader("P3P", policySettings);
Вы, безусловно, можете выполнять аналогичные шаги в других технологиях, таких как PHP и ASP.NET.Я надеюсь, что это, по крайней мере, поможет людям найти правильное направление для решения проблемы файлов cookie IE.