AR삽질러

Rails 一日一つメソッド (Day08) has_secure_passwordメソッド 본문

Ruby/RubyOnRails-日本語

Rails 一日一つメソッド (Day08) has_secure_passwordメソッド

아랑팡팡 2023. 12. 28. 19:33
728x90

 

Rails 一日一つメソッド (Day8) has_secure_passwordメソッド

 

has_secure_passwordメソッド

 RailsのActive Model内に実装されているメソッドで、ModelでユーザーのPasswordを安全に暗号化しPassword有効性検索及び認証機能を提供する。

 

has_secure_password動作方法

 1. Password暗号化

  - has_secure_passwordはユーザーのPasswordを暗号化しpassword_digestに保存する。

 2. PasswordとPassword確認

  - password, password_confirmationの属性が生成され password, password == confirmation の値が一致することを自動に検証する。

 3. ユーザー認証  

  - has_secure_passwordはauthenticateメソッドを提供し、メソッドは与えられた平文のPasswordと一致することを確認する。

一致する場合 : オブジェクトを返す。

一致しない場合 : falseを返す。

 

has_secure_password例題

 1. bcrypt gem 作成

Gemfile

gem "bcrypt", "~> 3.1.7"
$ bundle install

 

 2. Modelにメソッド作成

class User < ApplicationRecord
    has_secure_password
end

 

 3. Database Migration

rails generate
rails g migration password_digest_to_users password_digest: string
rails db:migrate

 

 

 

 

注意事項

 - password_digest は必ずDatabaseに存在すること

 


https://github.com/designAR/rails_method_study/tree/day08_has_secure_password

 

GitHub - designAR/rails_method_study

Contribute to designAR/rails_method_study development by creating an account on GitHub.

github.com

 

 

728x90
반응형
LIST