现在有一项目中使用了spring security3,因项目的特殊要求需要在同一浏览器页面中始终使用同一个session.
而查阅spring security有关资料后,得知ss有防止session固定攻击的做法,默认会在用户登陆时创建一个新的session,
这样在用户开启系统登陆页面时是使用的一个session,而登陆系统后会由ss创建一个新的session.
例如开启登陆页面login.jsp时是使用的:sessionId:272B4352F9E75846156A3EC7E3242A6C
而当用户登陆后(请求/j_spring_security_check后),session由ss改为了:sessionId:09AE96898D9BD34A1A6BF087E38865A7
这种情况可以通过使用<http>中的session-fixation-protection属性来配置它的行为,将其配置为:
<s:session-management session-fixation-protection="none"/>
这样便在登陆后可以继续使用原来的session。
这样配置虽然解决了登陆前与登陆后使用相同的session,
但是在注销后(请求/j_spring_security_logout后)session值还是被改变了.
请熟悉spring security的兄弟姐妹帮忙看看,怎样在注销后保持原session呢?