職業訓練覚え書き

37日目(MySQL5)

DAOパターンの復習

サーブレットの中にデータベース連携の記述をせず、1つレイヤーをかませる
いくつか定義方法があるが、Factoryパターンを利用
サーブレットとMemberDaoImplとの依存を切れるメリットがある

Factoryパターンに必要なもの
 ①インターフェース
 ②①を実装したクラス
 ③DaoFactory(②のオブジェクト生成用クラス)


ユーザー認証

Tomcatが用意してくれてる認証とかは制約が多いため使用せず。

 

自分で認証を作る

  • データベースにID、パスワード格納。
  • ログインフォームを用意。
  • ユーザーが入力したID、パスワードをサーブレットで受け取り、データベースに接続してそのID、パスワードが存在するかを確認
  • 存在すれば認証OKのページを表示し、間違ってたらログインフォーム再表示

 

パスワードの管理

BCryptを使う

 

パスワードの暗号化

BCrypt.hashpw(pass, BCrypt.gensalt());

第1引数がパスワード、第2引数がソルト

 

暗号化されたパスワードと照合

BCrypt.checkpw(pass,"$2a$10…")

第1引数が暗号化前のパスワード、第2引数が暗号化後の値

 

あとはバリデーションのやり方など。

 

今日はここまで。

DAOパターンの復習から、JSPサーブレットの連携などこれまでの振り返りが多め。

ありがたや。