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