【问题标题】:Pass an argument between sessions in Spring Security在 Spring Security 中的会话之间传递参数
【发布时间】:2013-09-18 13:52:19
【问题描述】:

我正在开发允许用户以访客身份执行某些操作的应用程序。结果存储在会话中。我想将访客会话中的数据注入经过身份验证的用户会话。例如:

  1. 来宾用户在购物车中添加东西等
  2. 用户决定进行身份验证
  3. 身份验证购物车从上一个会话恢复后(即在它们之间传递)

有没有一个地方可以让新旧用户会话将属性从一个复制到另一个?

【问题讨论】:

  • 你控制你的登录逻辑吗? IE。你有登录控制器吗?
  • 不,身份验证是通过外部身份验证提供程序完成的。
  • 似乎应该通过将会话固定策略设置为“无”来解决,但它已经设置为“无”。
  • 我不知道具体的 Spring 安全方式来执行此操作,但您可以创建一个 servlet Filter 将会话中的属性复制到请求属性中。然后 Spring 让你登录,当过滤器返回时,它会将它们复制回来。
  • 禁用会话固定保护会降低您的应用程序的安全性。你试过<session-management session-fixation-protection="migrateSession"/>吗?

标签: java servlets spring-mvc spring-security


【解决方案1】:

这可以通过以下方式实现:

<security:session-management session-fixation-protection="none"/>

【讨论】:

    猜你喜欢
    • 2011-11-20
    • 2014-01-29
    • 1970-01-01
    • 1970-01-01
    • 2020-11-28
    • 2013-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多