Ich habe ein Problem beim Abgleichen des Benutzerkennworts mit Devise Gem in Rails. Das auf meiner Datenbank gespeicherte Benutzerkennwort lautet encrypted_password und ich versuche, den Benutzer anhand des Kennworts zu finden. Ich verstehe jedoch nicht, wie das Kennwort aus dem Formular und dem verschlüsselten Kennwort in meiner Datenbank abgeglichen werden kann.
User.find_by_email_and_password(params[:user][:email], params[:user][:password])
ruby-on-rails
devise
poporul
quelle
quelle
Antworten:
Ich denke, dies ist eine bessere und elegantere Art, dies zu tun:
Die andere Methode, mit der Sie den Digest aus der Benutzerinstanz generieren, gab mir geschützte Methodenfehler.
quelle
Verwenden Sie Gerätemethoden
Devise bietet Ihnen integrierte Methoden zum Überprüfen des Kennworts eines Benutzers :
Für Rails 4+ mit starken Parametern können Sie Folgendes tun:
quelle
Ich denke, das Bessere wird das sein
quelle
Ich würde das vorschlagen.
quelle