Ruby on Rails 登录与登出功能实现详解
1. 创建记住令牌方法
首先,我们需要为用户创建一个记住令牌(remember token),代码如下:
def create_remember_token
self.remember_token = SecureRandom.urlsafe_base64
end
由于 SecureRandom.urlsafe_base64 生成的字符串肯定不为空,此时 User 模型的测试应该能通过,可使用以下命令进行测试:
$ bundle exec rspec spec/models/user_spec.rb
2. 实现登录方法
接下来,我们要编写登录功能的核心部分—— sign_in 函数。我们期望的认证方法是将记住令牌作为 cookie 存储在用户浏览器中,然后在用户浏览页面时使用该令牌从数据库中查找用户记录。以下是完整但尚未生效的 sign_in 函数:
# app/helpers/sessions_helper.rb
module SessionsHelper
def sign_in(user)
cookies.permanent[:remember_token] = user.remember_token
self.curren
超级会员免费看
订阅专栏 解锁全文
798

被折叠的 条评论
为什么被折叠?



