我应该在身份验证后分配唯一的会话id
。身份验证之前和身份验证之后的会话id
应始终不同。那么,我怎么能用Struts 2.0做到这一点?
答案 0 :(得分: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());
答案 1 :(得分:1)
您应该参考以下
http://nickcoblentz.blogspot.in/2008/09/jsessionid-regeneration-in-struts-2.html
您的课程必须为此实施SessionAware。建议使用4种方法。
其中一个可能是
((SessionMap)this.session).invalidate();
this.session = ActionContext.getContext().getSession();