bagaimana cara mencocokkan kata sandi lama?

Saya mencoba mengikuti tips di sini - Rails 3/Rancangan: Garam sandi tidak lagi dibuat?

Namun tidak ada yang berhasil - baik valid_password? maupun password_digest. password_digest mendapatkan metode yang dilindungi dan valid_password? kembali kosong.

Ketika pengguna saya mengubah kata sandinya, saya membiarkan mereka memasukkan kata sandi lama dan jika ini cocok dengan kata sandi terenkripsi di database, maka saya akan memperbarui kata sandi pengguna.


person David    schedule 07.03.2012    source sumber
comment
Versi Rancangan mana yang Anda gunakan? Enkripsi mana yang Anda gunakan?   -  person Rodrigo Flores    schedule 08.03.2012
comment
saya menggunakan 1.4.2 - saya tidak yakin enkripsi apa yang digunakannya, maukah Anda memberi tahu saya cara mengetahuinya dan cara menggunakannya sehingga saya dapat mengenkripsi pengguna yang memasukkan kata sandi lama?   -  person David    schedule 16.03.2012


Jawaban (1)


untuk membiarkan pengguna memasukkan kata sandi asli, cukup tambahkan :current_password ke params dan kemudian gunakan @user.update_with_password(params[:user]) untuk memperbarui dengan validasi kata sandi saat ini.

<div class="field">
<%= f.label :current_password %> <i>(we need your current password to confirm your changes)</i><br />
<%= f.password_field :current_password %>
</div>
person Andy Wang    schedule 23.08.2013