所以,我正在尝试使用 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 中,但没有进行任何更改。我是否需要在其他地方传递路径变量,或者以不同的方式修改该路径?
最佳答案
您是否尝试过添加域。
这是我的代码,它工作正常
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)
关于grails - Cookie 插件,路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11488566/