Cookie插件,路径问题

时间:2012-07-15 00:55:37

标签: grails

所以,我正在尝试使用cookie插件(见http://grails.org/plugin/cookie),总的来说,它运行得很好。但是由于路径问题,我遇到了从应用程序的不同部分访问我的cookie的问题。

我根据应用程序中的位置获取存储在不同位置的相同Cookie。

我已将此添加到我的Config.groovy中,如插件页面所示:

com.studentuniverse.grails.plugins.cookie.services.CookieService.metaClass.setCookie = { response, name, value, maxAge ->
def cookie = new javax.servlet.http.Cookie(name, value)
cookie.setMaxAge(maxAge)
cookie.setPath("/")
response.addCookie(cookie)

}

但这似乎没有任何改变。我仍然得到两个cookie,一个存储在/ [AppName] / [Controller1],另一个存储在/ [AppName] / [Controller2]。理想情况下,我希望两者都存储在/ [AppName]。但是,我对setPath变量所做的任何更改似乎都没有效果。我甚至尝试将其更改为

cookie.setPath("/cookies")

预计它将存储在/ [AppName] / [Controller1] / cookies中,但是没有进行任何更改。我是否需要在其他地方传递路径变量,或者以不同的方式修改该路径?

1 个答案:

答案 0 :(得分:3)

您是否尝试过添加域名?

这是我的代码,它运行正常

def myCookie = new Cookie(cookieName, cookieValue)
        myCookie.setMaxAge(cookieExpTime)
        myCookie.setDomain(cookieDomain)
        myCookie.setPath("/")
        // Force all cookie to only be able to be transmitted over SSL if true.
        myCookie.setSecure(isSecure)
        response.addCookie(myCookie)