【问题标题】:Signed cookies in Rails 3Rails 3 中的签名 cookie
【发布时间】:2012-10-20 20:36:09
【问题描述】:

我设置了一个这样的签名cookie:

cookies.permanent.signed[:remember_me] = [user.id, user.salt]

读取cookie时:

cookies.signed[:remember_me]

我明白了:

14cc5d64cd84f96f8847726a6ed0e280235025379

这个值是什么意思?我怎样才能找回用户的id

我使用 Rails 3.2.6。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 cookies


    【解决方案1】:

    我认为首先你应该这样做

     cookies.permanent.signed[:remember_me] = user.id
    

    那么只有你可以通过

     cookies.signed[:remember_me]
    

    尽管通过签名没有人可以在客户端解密 cookie

    【讨论】:

      【解决方案2】:

      只需使用 cookie[:remember_me]

      【讨论】:

        【解决方案3】:

        无需将盐分配给cookies...哈希由签名函数自动生成... 你可以简单地使用

        cookies[:remember_me] = user.id

        【讨论】:

        • 我想存储盐,这样,如果用户更改密码,cookie 就会失效。
        猜你喜欢
        • 2011-07-03
        • 1970-01-01
        • 2012-06-14
        • 2017-05-18
        • 2011-09-14
        • 2011-07-23
        • 2014-11-18
        • 2011-04-29
        • 2013-11-16
        相关资源
        最近更新 更多