1

我遇到了一个 jsession id 问题。我正在使用 Tomcat 7、Spring 框架 3.1.1、Spring Security 的安全性。

我们的应用程序有一个登录页面,其 url 类似于 : defaultSubdomain.theSite.com/login.html。我们的一些用户有自己的子域,所以他们的登录页面 url 是 : subdomainForUser.theSite.com/login.html

问题是,如果其中一个使用默认登录 url:

  • 他将登录,将在服务器上创建一个 HttpSession,并defaultSubdomain.theSite.com在客户端上创建一个 JSESSIONID cookie,然后
  • 我们的服务器使浏览器重定向到用户子域的欢迎页面,并使浏览器使用 javascript 重新创建 JSESSIONID cookie。

在过滤器中:

//if client is on the wrong subdomain
HttpServletResponse.sendRedirect(url);
return;

但在那之后,客户端仍然需要重新登录。有什么方法可以实现我尝试做的事情(使用编码方法而不是配置 tomcat)?

我做了一些研究,我们可以使用

<Context sessionCookieDomain=".theSite.com" sessionCookiePath="/">

但这意味着有一种用于开发的配置,一种用于测试的配置,一种用于生产的配置,这是不可接受的。

谢谢!

4

0 回答 0