0

具体是SignedCookieJar做什么的?

MessageEncryptor.encrypt_and_sign和使用cookie 值有什么区别?

4

1 回答 1

1

如果您正在寻找给定课程的确切功能,我建议您咨询源代码。SignedCookieJar,例如,在 中rails/actionpack/lib/action_dispatch/middleware/cookies.rb

看起来 aSignedCookieJar是标准 cookie jar 的包装器,但是在将 cookie 设置为其父 jar 之前,它将使用ActiveSupport::MessageVerifier' 的方法对其进行签名,并且在从父 jar 获取 cookie 时,如果验证者的方法无效generate,它将返回签名。nilverify

不同之处似乎是MessageVerifier只对数据进行签名,但保留原始数据不变,而MessageEncryptor在签名之前会额外加密数据。Rails 文档说,用例的不同之处在于:

[MessageEncryptor] 可用于类似于 MessageVerifier 的情况,但您不希望用户能够确定有效负载的值。

对于签名的 cookie,我们通常不会太担心。

于 2012-06-29T15:13:10.500 回答