【问题标题】:How to store values in session if cookie is disabled in spring MVC如果在 Spring MVC 中禁用 cookie,如何在会话中存储值
【发布时间】:2013-12-23 06:39:05
【问题描述】:

我正在使用 Spring MVC 3.1 并开发一个 Web 应用程序。 我将登录的用户名和密码存储在会话中。由于会话存储在 cookie 中,一旦禁用 cookie,我将无法登录。

在 SPRING MVC 中是否有任何解决方案来存储除 cookie 之外的会话。

谢谢

【问题讨论】:

    标签: spring spring-mvc


    【解决方案1】:

    您希望使用 URL 重写将 JSESSIONID 保留在跨请求的 URL 中。您可以将ServletContext 配置为使用URL 跟踪模式(而不是COOKIE),如here 所述。

    使用 Servlet 3.0,您可以这样做:

    <session-config>
      <cookie-config>
        <tracking-mode>URL</tracking-mode>
      </cookie-config>
    </session-config>
    

    【讨论】:

    • 是否可以在 servlet.xml 中进行此配置?如果是的话,请告诉我如何。谢谢
    • 请看我的编辑。查看更多here。只要记住在强制会话到 URL 时也要执行 URL 编码/解码步骤。
    【解决方案2】:

    我注意到在我的应用程序(Java EE 6、Spring MVC 3.2.4、Spring Security 3.1.4)中,当 cookie 被禁用时,JSTL 的 &lt;c:url&gt; 标签开始向每个 URL 添加 sessionid 值。 Spring Security 工作正常。我不需要做任何配置来实现这一点。

    【讨论】:

      猜你喜欢
      • 2010-11-24
      • 1970-01-01
      • 2010-12-29
      • 2010-11-26
      • 2015-09-13
      • 2016-09-24
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多