如何在Spring中将一些会话变量传递到注销页面?

时间:2019-04-12 13:34:32

标签: spring spring-boot session spring-security logout

用户注销后,我需要进行客户调查。如何将某些会话变量(用户信息)传递到注销页面,以便Thymeleaf可以呈现它们?注销期间,会话无效,所有会话变量均被删除。

更新

首先-一些不理想的想法:

  • 将变量作为URL参数传递到注销页面,以便Thymeleaf可以呈现调查所需的任何内容

  • 创建一个使用会话变量呈现并执行立即AJAX请求注销的“注销前”页面。

  • 将作为对数据库的引用的变量作为URL参数传递。该引用将允许Spring检索数据库中所有已存储的参数,并将其作为模型传递给视图以进行进一步渲染。必须加密参数并提供时间戳,以使未使用的参数失效。

现在-还有其他(更好)的主意吗?

谢谢

更新2-解决方案

  1. 在WebSecurityConfigurerAdapter中,我更改了注销,因此它不会使会话无效。
  2. 我扩展了LogoutController并覆盖了onLogoutSuccess(...)。因此,它检索一些会话变量,将它们临时存储为局部变量,使会话无效,并作为会话属性放入新会话中。其他所有变量都消失了。
  3. 在MVC控制器中-我从HttpServletRequest检索会话属性,并将其放入MVC模型中;之后,我删除会话属性。 :D可以。

0 个答案:

没有答案