我们使用before_filter :authenticate_user
我想知道以下代码:
def serialize_from_session(key, salt) record = to_adapter.get(key) record if record && record.authenticatable_salt == salt end
它在devise-3.1.0/lib/devise/models/authenticatable.rb
设计是否为每个请求调用数据库?或者我读错了什么?
答案 0 :(得分:1)
是的,确实如此。
它将从会话中读取存储的用户数据(用户ID和身份验证盐),然后通过执行查找来验证数据库中的用户是否与此存储的数据匹配。第二部分就是这段代码的作用。