Jakarta ee 多个域上的域级会话cookie

Jakarta ee 多个域上的域级会话cookie,jakarta-ee,coldfusion,jrun,Jakarta Ee,Coldfusion,Jrun,如果希望ColdFusion将会话cookie创建为域级cookie,例如.bar.com而不是foo.bar.com,则可以在jrun-web.xml中进行配置:- <session-config> <cookie-config> <active>true</active> <cookie-domain>.bar.com</cookie-domain> </

如果希望ColdFusion将会话cookie创建为域级cookie,例如.bar.com而不是foo.bar.com,则可以在jrun-web.xml中进行配置:-

<session-config>    
   <cookie-config>
          <active>true</active>
          <cookie-domain>.bar.com</cookie-domain>
   </cookie-config>
  <persistence-config>
    <active>false</active>
  </persistence-config>
</session-config>

真的
.bar.com
假的
但是,这是一个实例范围的设置,因此如果您希望在该实例上运行两个应用程序,或者一个应用程序具有一个或多个不同的顶级域,那么其中一个应用程序将具有无法工作的会话

有没有办法将多个域添加到jrun-web.xml并让它选择相关的域


谢谢。

我认为如果您使用cgi.server\u name变量命名您的应用程序,并且您的每个站点都使用相同的application.cfc或application.cfm文件,那么您的会话和cookie变量将针对每个站点进行适当的范围划分。例如:

<cfapplication name="#cgi.server_name#" sessionmanagement="YES" clientmanagement="YES" sessiontimeout="#CreateTimeSpan(1,0,0,0)#" applicationtimeout="#CreateTimeSpan(1,0,0,0)#"  clientstorage="COOKIE" setclientcookies="YES">

我认为您可以使用
来设置域cookie,而不是


这会将您的cfid和cftoken cookies设置为域cookies(*.bar.com),而不是主机特定值(foo.bar.com)

(请参阅setDomainCookies部分)

我设法找到了(指向已失效的Macromedia URL的顶部链接)

这指定XML中只能有一个
节点。我还测试了一系列域名,例如:

<cookie-domain>.domainA.com,.domainB.com</cookie-domain>
.domainA.com、.domainB.com
这也不管用


这不是一个绝对的答案,但我怀疑这可能是不可能的(!),而且通过jrun-web.xml肯定是不可能的(我想它至少回答了您的一个问题)。

如果您可以使用CFHEADER来操作cfapplication创建的cookie,我会感到惊讶。也许发布一个你见过的工作示例?这只会影响CFID和CFTOKEN。我们正在使用不受此设置影响的J2EE会话。
<cookie-domain>.domainA.com,.domainB.com</cookie-domain>