2012-02-15 104 views
3

如果您希望ColdFusion將域會話cookie創建爲域級Cookie,例如.bar.com而不是foo.bar.com,那麼你可以配置在JRUN-web.xml中: -多個域上的域級會話cookie

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

然而,這是一個實例範圍的設置,所以如果你想運行在這兩個應用程序實例或實際上是一個具有或多個不同頂級域名的應用程序,那麼其中一個應用程序的會話將不起作用。

有沒有辦法將多個域添加到jrun-web.xml並讓它選擇相關的域?

謝謝。

回答

-1

我認爲,如果你的名字與cgi.server_name變量您的應用程序,並且每個站點都使用相同的Application.cfc或application.cfm文件,那麼你的會話和餅乾變量將是正常範圍的每一個人網站。例如:

<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"> 
0

我認爲你可以使用<CFHEADER>設置域的Cookie,而不是<CFCOOKIE>

+0

如果您可以使用CFHEADER來操作由cfapplication創建的cookie,我會感到驚訝。也許發佈一個你見過的例子? – 2012-02-16 19:42:27

0
<cfapplication 
    setdomaincookies=yes 
    .....> 

這將設置你的CFID和CFTOKEN餅乾作爲域的Cookie(* .bar.com),而不是特定的主機值(foo.bar.com)。

CFApplication(見setDomainCookies部分)

+0

這隻會傷心地影響CFID和CFTOKEN。我們正在使用不受此設置影響的J2EE會話。 – baynezy 2012-02-24 11:48:48

1

我設法找到the DTD for jrun-web.xml(在一個倒閉的Macromedia URL鏈接@頂點)。

這指定XML中只能有一個<cookie-domain>節點。我也測試了一個域名列表,例如:

<cookie-domain>.domainA.com,.domainB.com</cookie-domain> 

而且這也行不通。

不是一個絕對的答案,但我懷疑它可能不可能(!),而且通過jrun-web.xml(我猜你至少可以回答你的一個問題)當然是不可能的。