6

我正在编写一个时钟系统,用户通过输入他们的usernamepassword在特定的计算机中有效地打他们的时钟。时钟用户将首先登录。username我只需要通过检查他们输入的password内容是否正确来注册用户出现。我怎样才能做到这一点Devise

我不想真正让他们登录,只检查他们是否是他们所说的人。timeclock 用户是唯一始终登录的用户。

4

2 回答 2

7

如果您使用宝石设计。尝试

User.find(1).valid_password?('password123')  # returns true/false

文件中的代码:devise/lib/devise/models/database_authenticable.rb

于 2013-02-26T03:08:11.377 回答
1

使用设计方法

Devise 为您提供了两种内置方法,可让您完全做到这一点:

user = User.find_for_authentication(username: params[:username])
user.valid_password?(params[:password])
于 2017-02-04T22:42:14.617 回答