小编Shi*_*iva的帖子

如何在grails中的子域中进行相同的会话

我有一个应用程序处理多个子域,如

  • sub1.domain.com
  • sub2.domain.com
  • www.domain.com
  • domain.com

用户可以在使用应用程序时切换这些子域.发生这种情况时,不会在这些子域之间共享会话.我使用tomcat作为开发和生产的服务器.

我试图让共享会话首先在开发中工作.在阅读时,发现在tomcat中实现这一目标的方法是:

<Context sessionCookiePath="/" sessionCookieDomain=".domain.com">
Run Code Online (Sandbox Code Playgroud)

有没有办法在开发环境中在tomcat中设置它?

我在_Events.groovy中尝试了以下代码,但没有成功:

eventConfigureTomcat = {tomcat ->
    def context = tomcat.addContext("","/")
    context.setSessionCookieDomain(".domain.com")
    context.setSessionCookiePath("/")
}
Run Code Online (Sandbox Code Playgroud)

我得到错误java.lang.IllegalArgumentException:addChild:子名称''不是唯一的

我假设我需要的是相当于下面的代码(由于没有getContext方法,因此无法工作):

eventConfigureTomcat = {tomcat ->
    def context = tomcat.getContext("") //This function does not exist
    context.setSessionCookieDomain(".domain.com")
    context.setSessionCookiePath("/")
}
Run Code Online (Sandbox Code Playgroud)

关于如何在开发和生产中使用它的任何建议?在此先感谢您的帮助.

subdomain grails tomcat session-cookies

5
推荐指数
1
解决办法
1114
查看次数

标签 统计

grails ×1

session-cookies ×1

subdomain ×1

tomcat ×1