Ruby on rails 设计用户登录?它是如何工作的?

Ruby on rails 设计用户登录?它是如何工作的?,ruby-on-rails,ruby,ruby-on-rails-3,security,devise,Ruby On Rails,Ruby,Ruby On Rails 3,Security,Devise,在此处列出的Desive源代码中: 第56行到底是做什么的?换句话说,我不确定Deviate如何确定用户是否已登录 它似乎调用了warden.authenticate,其作用域为user(前提是user是模型本身) 我还需要深入研究典狱长代码库吗?设计将工作委托给典狱长。典狱长检查用户名和密码是否有效 Warden::Strategies.add(:my_strategy) do def valid? params[:username] && params[:pa

在此处列出的Desive源代码中:

第56行到底是做什么的?换句话说,我不确定Deviate如何确定用户是否已登录

它似乎调用了warden.authenticate,其作用域为user(前提是user是模型本身)


我还需要深入研究典狱长代码库吗?

设计将工作委托给典狱长。典狱长检查用户名和密码是否有效

Warden::Strategies.add(:my_strategy) do

  def valid?
    params[:username] && params[:password]
  end

  def authenticate!
    u = User.find_by_username_and_password(
      params[:username],
      params[:password] # you should encrypt this. ;)
    )

    u.nil? ? fail!("Couldn't log in") : success!(u)
  end
end

设计将工作委托给典狱长。典狱长检查用户名和密码是否有效

Warden::Strategies.add(:my_strategy) do

  def valid?
    params[:username] && params[:password]
  end

  def authenticate!
    u = User.find_by_username_and_password(
      params[:username],
      params[:password] # you should encrypt this. ;)
    )

    u.nil? ? fail!("Couldn't log in") : success!(u)
  end
end

不确定是否相关。但我之所以这么问,主要是因为我使用Desive作为API身份验证系统的一部分,并且我依靠用户登录来确定用户是否应该能够使用API(除了存在params[:auth_token]。尽管如此,谢谢您的回答。不确定是否相关。但我主要是想问,因为我使用Desive作为API身份验证系统的一部分,并且我依赖于用户_登录来确定用户是否应该能够使用API(除了存在params[:auth_令牌)。不过,谢谢您的回答。