如何在Tomcat上将JSESSIONID域设置为第二级?

问题描述

| 我在以下域中的Tomcat上有一项服务:
sub1.domain1.com
sub2.domain1.com

sub1.domain2.com
sub2.domain2.com
现在,我需要domain1的透明授权(Spring Security)。如果用户登录到sub1.domain1.com,他也将获得sub2.domain1.com的授权。 这可以通过Tomcat的设置来完成
sessionCookieDomain=\".domain1.com\"
但是现在对sub1.domain2.com的授权根本不起作用,因为所有JSESSIONID cookie域都始终设置为\“。domain1.com \”。 我怎样才能让tomcat仅将当前域的第二级用于cookie?     

解决方法

简单的答案是没有简单的答案。本质上,您需要一个主登录站点,以及一个方案,通过该方案,辅助站点可以为其域设置cookie,以克隆主站点的会话令牌。实现这一点很复杂。 Shibboleth和JASIG CAS是两种可能的SSO技术。 有关更多详细信息,请参阅跨多个域的“单点登录”的答案   如果我以某种方式使cookie创建过载并在需要的地方设置.domain1.com和.domain2.com怎么办? 如果
foo.domain1.com
尝试设置路径为
.domain2.com
anything.domain2.com
的cookie,出于安全原因,浏览器将忽略它。您必须经历一个复杂的重定向过程,才能在两个域上都设置Cookie。阅读我链接到(上面)的问题/答案,以获取更多详细信息。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...