2015-10-13 1 views
1

У меня есть форма с именем и паролем. Я использую: моя коллекция «пользователей» состоит изНайти mongo Элемент базы данных из rails App

имя и пароль ключей

user = User.where({:name => params[:name]}) 

Вышеуказанная команда показывает, заключал ли имя совпадает с именем в database.But , Я хочу узнать пароль того же документа и узнать, совпадает ли он с введенным паролем.

ответ

0

.where() получает набор результатов. Вы можете получить доступ к одному из полей для извлечения результатов, как:

password = User.where({:name => params[:name]}).first.password

Еще одна идея будет использовать пароль для запроса документа, как это: user = User.where({:name => params[:name], :password => params[:password]})

Кроме того, еще один thoguth: вы должны защищать пароль своего пользователя и не передавать его в виде обычного текста, чтобы сохранить его в своей базе данных (извините, если это не так, просто проверьте).

+0

, Их все равно, без драгоценных камней. аутентифицировать пользователя, используя тип дайджеста по паролю вместо текстового типа? – ashr81

+0

Каждый раз, когда я делал запрос, используя 'User.where ({: name => params [: name],: password => params [: password]})' .it всегда передает оператор if , то есть если я держу : 'if user' Этот код всегда проверяется на true. Я хочу назначить сеанс, используя' session [: user_id] = user.id' .but, получение ошибки _undefined error .id methods_ – ashr81

Смежные вопросы