簡體   English   中英

Rails 4 devise用戶可以注冊但不能登錄,

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM