Файлы cookie, которые не используются контроллером в Spring MVC

В моем 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 через контроллер, не настроив его явно?

Покажи какой-нибудь код ??

Yati Sawhney 23.06.2018 08:11
0
1
227
1

Ответы 1

Вы не сможете получить эти файлы cookie, если переходите к контроллеру напрямую (возможно, используя RequestDispatcher). Вам нужно попросить браузер сделать всю работу за вас.

Вы должны использовать response.sendRedirect("/your-controller-path"), чтобы получить файлы cookie из вашего запроса.

Если я сохраняю некоторую информацию в файле cookie страницы и мне она нужна в каждом контроллере во время навигации, как ее получить? Например, у меня есть зашифрованный файл cookie в моем браузере, этот файл cookie требуется для получения некоторых данных из базы данных и присвоения значения следующей модели. Как тогда получить данные?

Shakthi 23.06.2018 08:35

Я предлагаю вам переосмыслить. Вы действительно хотите куки для этого ??

Yati Sawhney 23.06.2018 08:50

Я делаю это как безгражданство. Не хочу поддерживать сеанс. В этом случае, как мне узнать, кто отправляет запрос? У меня есть собственный алгоритм enc для расшифровки и проверки того, исходит ли запрос от аутентифицированного пользователя или нет. в этом случае мне нужен только файл cookie, верно? Я сохраняю информацию о пользователе, такую ​​как отображаемое имя, путь к изображению dp, роль пользователя, уникальный динамический ключ во всех файлах cookie. Итак, я подумал, что это будет сложно расшифровать от злоумышленников.

Shakthi 23.06.2018 09:12

Безгражданство и аутентификация - это разные вещи. Если вы реализовали какой-либо механизм аутентификации (например, вы используете токены JWT), используйте токен для идентификации запроса и отправителя.

Yati Sawhney 23.06.2018 09:16

Использование cookie для обмена информацией между всеми контроллерами не будет хорошим выбором для этого конкретного случая использования.

Yati Sawhney 23.06.2018 09:16

Как тогда отправить токен JWT контроллеру?

Shakthi 23.06.2018 09:34

С заголовками запросов

Yati Sawhney 23.06.2018 09:36

Я перемещаюсь по странице формы через контроллер. При загрузке самой страницы мне потребуется обновить некоторую информацию в Модели. Атрибут модели, который я устанавливаю, взят из БД. Чтобы запросить БД, мне нужен токен или файл cookie, все в порядке. Когда мы нажимаем на ссылку, это будет простой метод получения, верно? Как установить заголовок запроса при переходе по анкорной ссылке? будет ли он поддерживаться в IE7, если мы настроим фактический запрос?

Shakthi 23.06.2018 09:41

Другие вопросы по теме