我正在创建一个基本的Devise/Rails授权设置,并且无法用已知/验证的电子邮件/密码值登录用户。据我所知,这里的普通情况并不是这样。签到PARAMS显示正确的数据传递给服务器:使用Rails 5.1.2和Devise 4.3.0登录失败已完成401未经授权(用户验证)
开始POST “/用户/ sign_in” 为:: 1,在2017年7月8日14时34分45秒-0400 处理由设计:: SessionsController#创建为HTML参数: {“utf8”=>“✓”,“authenticity_token”=>“Fa7u5V ... lq81XEw ==”, “user”=> {“email”=>“[email protected]” “密码”=> “[FILTERED]”, “remember_me”=> “0”}, “提交”=> “登录”}
服务器输出指示用户的存在(基于在具有已知电子邮件值的SELECT语句上):
用户负载(0.7ms)SELECT“users”。* FROM“users”WHERE “users”。“email”= $ 1 LIMIT $ 2 [[“email”,“[email protected]”], “限制”, 11] @user:#]>
但是当设计该检查的语句,则返回 “已完成401未授权......”
用户之后立即运行相同的查询加载(0.6ms)SELECT“users”。* FROM“users”WHERE “users”。“email”= $ 1 ORDER BY“users”。“id”ASC LIMIT $ 2 [[“email”, “[email protected]”],[ “限制”,1]]已完成401未经授权在14ms的 (ActiveRecord的:1.9ms)
这里是routes.rb中和user.rb模型文件:
======= routes.rb =======
Rails.application.routes.draw do
get "/" => "users#home"
devise_for :users
resources :users do
resources :posts
end
end
======= user.rb =======
class User < ApplicationRecord
devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable
has_many :posts
has_many :comments
end
什么可能导致这种授权的缺乏?任何帮助将不胜感激!