일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 건담
- 연습문제
- ruby
- 単語
- 비즈니스일본어
- rails
- C로 시작하는 컴퓨터 프로그래밍4판
- Spring
- html
- rails7
- 디지몬
- java
- DART
- 반다이몰
- 一日一つメソッド
- メソッド
- 인프런
- Flutter
- springboot
- CSS
- nico
- 일본어
- 자바
- jsp
- 건담베이스
- Python
- 日本語
- javascript
- Web
- vscode
- Today
- Total
AR삽질러
Rails 一日一つメソッド (Day08) has_secure_passwordメソッド 본문
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
'Ruby > RubyOnRails-日本語' 카테고리의 다른 글
Rails 一日一つメソッド (Day10) before_actionメソッド (0) | 2023.12.30 |
---|---|
Rails 一日一つメソッド (Day09) authenticateメソッド (0) | 2023.12.29 |
Rails 一日一つメソッド (Day07) updateメソッド (0) | 2023.12.27 |
初めてのRuby on Rails ルーティング、アクション、View, ERB (2) (1) | 2023.12.27 |
初めてのRuby on Rails Controller作成, トラブルシューティング (1) (0) | 2023.12.27 |