3

因此,我正在尝试使用 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 中,但没有进行任何更改。我是否需要在其他地方传递路径变量,或者以不同的方式修改该路径?

4

1 回答 1

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)
于 2012-07-15T03:43:10.687 回答