devise 是rails 登陆认证插件,简单的研究了其登陆时"记住我"功能的实现.
在user有remember_token字段时,直接通过remember_token字段通过cookie的signed方法加密存放.
在没有remember_token字段时,在 lib/devise/models/database_authenticatable.rb|87 col 11 的authenticatable_salt方法可以看出
是取密码的0到29位的字符
在user有remember_token字段时,直接通过remember_token字段通过cookie的signed方法加密存放.
在没有remember_token字段时,在 lib/devise/models/database_authenticatable.rb|87 col 11 的authenticatable_salt方法可以看出
self.encrypted_password[0,29] if self.encrypted_password
是取密码的0到29位的字符