Tomcat在客户端重定向后重新创建JSESSIONID cookie

时间:2013-07-17 08:03:36

标签: java spring jsp tomcat jsessionid

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

我们的应用程序有一个登录页面,其中包含以下网址:defaultSubdomain.theSite.com/login.html。我们的一些用户拥有自己的子域名,因此他们的登录页面网址为:subdomainForUser.theSite.com/login.html

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

  • 他将登录,将在服务器上创建一个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="/">

但它意味着有一个dev配置,一个用于测试,一个用于prod,这是不可接受的。

谢谢!

0 个答案:

没有答案