如何在Struts 2中更改JSESSIONID?

问题描述 投票:0回答:2

我应该在身份验证后分配唯一的

JSESSIONID

认证前和认证后的

JSESSIONID
应该始终不同。

那么,我如何使用 Struts 2 来做到这一点?

java authentication session struts2 httpsession
2个回答
1
投票

您应该参考以下

http://nickcoblentz.blogspot.in/2008/09/jsessionid-regenesis-in-struts-2.html

您的类必须为此实现 SessionAware。建议使用 4 种方法。

其中之一可能是

((SessionMap)this.session).invalidate();
this.session = ActionContext.getContext().getSession();

1
投票

如果您获取

HttpSession
对象,您可以获得唯一的会话 ID。在 Struts2 中

HttpSession session = ServletActionContext.getRequest().getSession();
System.out.println("Old session ID: "+session.getId());
//do authentication
session = ServletActionContext.getRequest().getSession(true);
System.out.println("New session ID: "+session.getId());
© www.soinside.com 2019 - 2024. All rights reserved.