Создайте свой собственный идентификатор сессии в приложении struts2 или j2ee
У меня есть приложение, использующее Struts2 jsp и java..sessionid создается контейнером. Я хочу создать свой собственный идентификатор сеанса и установить для этого конкретного сеанса... просто хочу перезаписать. Я также создал фильтр. идентификатор сеанса
что-то вроде
session.setSessionId()
Спасибо..
1 ответ
Вы можете сделать это, используя CookieInterceptor, который может реализовать CookiesAware и затем перехватить вызов, чтобы установить свой собственный sessionId.
Редактировать:
Только что понял, CookieInterceptor не позволяет вам установить cookie, поэтому я сделал что-то вроде этого
В моем методе выполнения моего Action
Я сделал это:
public String execute() {
String jSessionId = null;
for (Cookie c : httpServletRequest.getCookies()) {
if (c.getName().equals("JSESSIONID"))
jSessionId = c.getValue();
}
System.out.println("Value Found In Request = " + jSessionId);
jSessionId = "TestingOverrideOfJSessionId";
Cookie myCookie = new Cookie("JSESSIONID", jSessionId);
myCookie.setMaxAge(60 * 60 * 24 * 365); // Make the cookie last a year
httpServletResponse.addCookie(myCookie);
return SUCCESS;
}
Результат