我正在創建一個基本的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
什麼可能導致這種授權的缺乏?任何幫助將不勝感激!