В моем spring application после входа в систему я устанавливаю некоторую информацию в response.addCookie(cookie), и я могу просматривать cookie name and value в браузере. Через javascript я могу получить доступ к cookie.
Когда я перехожу к другому controller, эти cookies недоступны даже в filter, interceptor, а также в controller.
Я попытался создать форму динамически по щелчку тега привязки и установить поле скрытого значения со значением cookie, и получил данные как getParameter, и он отлично работает. Но, поскольку это метод get, мой URL-адрес отображает параметры в URL-адресе. Если я изменю метод на post, то это будет болезненная область со стороны controller, redirection, на другой controller (поскольку перенаправление происходит как метод get).
Не могли бы вы разобраться с этой проблемой?
Разве мы не можем передать файл cookie через контроллер, не настроив его явно?
Вы не сможете получить эти файлы cookie, если переходите к контроллеру напрямую (возможно, используя RequestDispatcher). Вам нужно попросить браузер сделать всю работу за вас.
Вы должны использовать response.sendRedirect("/your-controller-path"), чтобы получить файлы cookie из вашего запроса.
Если я сохраняю некоторую информацию в файле cookie страницы и мне она нужна в каждом контроллере во время навигации, как ее получить? Например, у меня есть зашифрованный файл cookie в моем браузере, этот файл cookie требуется для получения некоторых данных из базы данных и присвоения значения следующей модели. Как тогда получить данные?
Я предлагаю вам переосмыслить. Вы действительно хотите куки для этого ??
Я делаю это как безгражданство. Не хочу поддерживать сеанс. В этом случае, как мне узнать, кто отправляет запрос? У меня есть собственный алгоритм enc для расшифровки и проверки того, исходит ли запрос от аутентифицированного пользователя или нет. в этом случае мне нужен только файл cookie, верно? Я сохраняю информацию о пользователе, такую как отображаемое имя, путь к изображению dp, роль пользователя, уникальный динамический ключ во всех файлах cookie. Итак, я подумал, что это будет сложно расшифровать от злоумышленников.
Безгражданство и аутентификация - это разные вещи. Если вы реализовали какой-либо механизм аутентификации (например, вы используете токены JWT), используйте токен для идентификации запроса и отправителя.
Использование cookie для обмена информацией между всеми контроллерами не будет хорошим выбором для этого конкретного случая использования.
Как тогда отправить токен JWT контроллеру?
С заголовками запросов
Я перемещаюсь по странице формы через контроллер. При загрузке самой страницы мне потребуется обновить некоторую информацию в Модели. Атрибут модели, который я устанавливаю, взят из БД. Чтобы запросить БД, мне нужен токен или файл cookie, все в порядке. Когда мы нажимаем на ссылку, это будет простой метод получения, верно? Как установить заголовок запроса при переходе по анкорной ссылке? будет ли он поддерживаться в IE7, если мы настроим фактический запрос?
Покажи какой-нибудь код ??