【发布时间】:2013-06-06 10:42:39
【问题描述】:
我正在尝试使用 devise 对我的网站进行用户身份验证。 它使用现有的用户表。
该表有用户名和密码,但是当我尝试登录时,我收到以下错误:
在 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"}
【问题讨论】:
-
您确定使用有效的电子邮件和密码吗?
-
是的..电子邮件和密码有效。当我创建一个新的用户表时,它可以工作。但我想使用另一个数据库中的现有表。当我在控制台中执行 User.first 时,我会从现有表中看到用户的正确详细信息。
-
您应该尝试以下解决方案:github.com/plataformatec/devise/wiki/… 这可能是因为旧数据库中的密码以其他方式加密而不是设计。
-
谢谢。有效!我忘记更改加密密钥了。
-
@user2459261,你应该解释你做了什么作为答案并接受它。另外,您使用的是哪个版本的设计和导轨?
标签: ruby-on-rails authentication activerecord devise