[英]Rails 4 devise user is able to sign up but not signin in ,
我正在構建一個Rails應用程序(我正在使用Rails 4)並使用Devise進行身份驗證,問題是我可以注冊,注冊后用戶會自動登錄,但是如果我注銷,我無法登錄,這是我的模型控制器和路線代碼。
控制器:
class ApplicationController < ActionController::Base
before_filter :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:username, :email, :password, :password_confirmation, :remember_me) }
devise_parameter_sanitizer.for(:sign_in) { |u| u.permit(:username, :password) }
end
end
模型:
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
def user_params
params.require(:user).permit(:email, :password, :password_confirmation, :remember_me, :username)
end
end
路線:
Rails.application.routes.draw do
devise_for :users, path_names: {sign_in: "login", sign_out: "logout"}
resources :rezultates
resources :notificaris do
member do
get :trimite
get :trimiteneplata
get :tz
end
end
resources :programaris
resources :pacients do
collection { post :import }
resources :programaris
resources :rezultates
member do
get :trimite
end
end
root to: 'pacients#index'
end
我嘗試登錄時來自服務器的日志
Started GET "/users/login" for 81.180.92.184 at 2014-06-30 09:41:33 +0300
Processing by Devise::SessionsController#new as HTML
Rendered devise/shared/_links.erb (0.8ms)
Rendered devise/sessions/new.html.erb within layouts/application (16.8ms)
Completed 200 OK in 63ms (Views: 60.3ms | ActiveRecord: 0.0ms)
Started POST "/users/login" for 81.180.92.184 at 2014-06-30 09:41:42 +0300
Processing by Devise::SessionsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"y47xQa7rSBkLS1Yp1PjqKTX1tRmzQ/VN+U6GJenETR8=", "user"=>{"email"=>"ionut@gmail.com", "password"=>"[FILTERED]"}, "commit"=>"Autentificare"}
Completed 401 Unauthorized in 2ms
Processing by Devise::SessionsController#new as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"y47xQa7rSBkLS1Yp1PjqKTX1tRmzQ/VN+U6GJenETR8=", "user"=>{"email"=>"ionut@gmail.com", "password"=>"[FILTERED]"}, "commit"=>"Autentificare"}
Unpermitted parameters: email
Rendered devise/shared/_links.erb (0.8ms)
Rendered devise/sessions/new.html.erb within layouts/application (15.0ms)
Completed 200 OK in 235ms (Views: 66.5ms | ActiveRecord: 0.0ms)
如果您看一下devise github repo 。 它說
To permit simple scalar values for username and email, use this
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_in) { |u| u.permit(:username, :email) }
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.