3

だから、私はクッキープラグイン(ここで見られる: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)

}

しかし、それは何も変わらないようです。まだ2つのCookieを取得しています。1つは/[AppName]/ [Controller1]に保存され、もう1つは/ [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 に答える