3

我正在尝试使用设计来对我的网站进行用户身份验证。它使用现有的用户表。

该表有用户名和密码,但是当我尝试登录时,出现以下错误:

在 90 毫秒内完成 401 Unauthorized。

日志:

Started POST "/users/sign_in" for 127.0.0.1 at 2013-06-06 15:50:01 +0530
Processing by Devise::SessionsController#create as HTML
 Parameters: {"utf8"=>"✓", "authenticity_token"=>"+uKE28LrkWW71EHeasDSDCENQogAGODfBc3ZJJLyi9U=", "user"=>{"email"=>"admin@abc.com", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"Sign in"}
 User Load (0.1ms)  SELECT `users`.* FROM `users` WHERE `users`.`email` = 'admin@abc.com' LIMIT 1
Completed 401 Unauthorized in 90ms
Processing by Devise::SessionsController#new as HTML
 Parameters: {"utf8"=>"✓", "authenticity_token"=>"+uKE28LrkWW71EHeasDSDCENQogAGODfBc3ZJJLyi9U=", "user"=>{"email"=>"admin@abc.com", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"Sign in"}
4

2 回答 2

1

它解决了!我在 configs/initializers/devise.rb 中更改了 rails 项目的加密密钥。

Rails 版本:3.2.13 设计版本:2.04

于 2013-06-07T05:42:59.233 回答
0

我刚刚遇到了这个确切的问题,但仅在生产中(使用 rails 4 和 devise 3)。

解决方案是向 config/initializers/session_store.rb 文件添加域声明,如下所示:

YourAppName::Application.config.session_store :cookie_store, key: '_your_session', domain: {
  production: 'prpoduction_domain',
  development: 'development_domain'
}.fetch(Rails.env.to_sym, :all)

尽管最初由于向应用程序添加子域而改变了这一点很重要。

于 2014-07-22T11:18:35.320 回答