Как проверить cookie в перехватчике struts2

Позвольте мне сначала рассказать вам сценарий

  1. Я использую struts2 для своего приложения.
  2. Здесь я хочу проверить действительность определенного файла cookie (который был сохранен, если пользователь установил флажок «Сохранить меня в системе»)
  3. Цель файла cookie заключается в том, что если пользователь представляет действительный файл cookie, он будет рассматриваться как вошедший в систему пользователь.
  4. Теперь я хочу проверить файл cookie в перехватчике, так как он будет повторно использоваться во многих действиях.

Проблема: я использовал CookieInterceptor, предоставленный struts2, который сохраняет файл cookie в ActionContext. Но как мне получить доступ к этому значению в перехватчике. Или, скорее, это хороший подход — использовать значения ActionContext в перехватчике и проверять их, обращаясь к серверным службам перехватчиков.

Спасибо заранее.


person Dibyendu    schedule 21.02.2015    source источник
comment
Это возможно, если вы знаете, как внедрить эти службы в перехватчик, или вы можете получить их из контекста вызова. Это зависит от вас, но ИМО, использующий вспомогательные классы для доступа к ним, может быть удобным внутри перехватчика.   -  person Roman C    schedule 21.02.2015
comment
Спасибо за ваши входные данные @Roman C, но меня беспокоил тот факт, что если я хочу получить доступ к некоторой переменной ApplicationContext из самого перехватчика, мне придется вызвать метод получения этой переменной, который потребует, чтобы действие было приведено к типу определенный тип, иначе я не смогу вызвать метод получения, и для этого действие должно реализовать некоторый настраиваемый интерфейс (который будет использоваться для приведения типов при вызове метода получения), таким образом, для каждого такого перехватчика, который обращается к некоторой переменной ActionContext, действие нужно реализовать какой-то интерфейс. Будет ли это хорошей идеей?   -  person Dibyendu    schedule 22.02.2015
comment
Я вас не понимаю, если вы получаете переменную из ApplicationContext, вы можете легко привести ее к типу переменной, которая должна быть того же типа. Создание действия для реализации некоторого интерфейса может быть использовано для внедрения некоторой переменной в действие. Это не обязательно требуется, поскольку Struts делает это автоматически для любой переменной из ApplicationContext. См. этот ответ.   -  person Roman C    schedule 22.02.2015
comment
Вы правы, но позвольте мне сделать мой вопрос очень ясным. От перехватчика Как я могу присвоить какое-то значение переменной, которая является приватной для какого-то действия? Пожалуйста, дайте мне знать, если вам нужна дополнительная информация. Это очень срочно для моего требования. Спасибо заранее   -  person Dibyendu    schedule 22.02.2015
comment
Что ж, переменная имеет модификатор private, но вы должны предоставить общедоступные методы доступа, если хотите изменить эту переменную извне.   -  person Roman C    schedule 22.02.2015
comment
Спасибо @RomanC, как ты дал мне подсказку. Я получил свой ответ. Спасибо еще раз. Будут искать ваши будущие помогает.   -  person Dibyendu    schedule 22.02.2015