#09:セッションとパスワードを理解しよう
ここでは、ログイン状態を保持するセッションとユーザーを認証するパスワードについて学習します。Laravelでは、セッション管理機能も簡単に利用できます。
kirisima:
- Email: info@paiza.jp
- Password: k1r1s1m@
paiza:
- Email: foo@paiza.jp
- Password: p3a.i1z4a
ログインしてから、ログアウトするまでの一連のアクセスを「セッション」と呼びます。
Webサイトへの基本的なアクセスでは、アプリケーション側でそれぞれのアクセスは独立しています。そのために、同じ人が同じサイトに複数回アクセスしても、それぞれのアクセスを区別できません。これでは、アクセスするたびにログインし直す必要があります。
そこで、セッションという仕組みを利用します。セッションは、ログインすると開始して、そのアクセスを区別する「セッション情報」を記録します。そして、ログアウトしたり、ブラウザを閉じて一定時間が経ったりすると終了します。この「セッション情報」おかげで、セッションが有効な間、Webアプリケーションに同じ人がアクセスしていると判断できるようになります。
Google Chromeの場合
1.「設定」メニューを呼び出す
2.「詳細設定」-「コンテンツの設定」-「Coookies」-「すべてのクッキーとサイトデータ」
3.Webアプリケーションのドメイン名を検索する
Laravelでは、パスワードを「ハッシュ」という暗号に変換して保存しています。
一見適当な記号の羅列に見えますが、
- 「同じ文字列からは常に同じハッシュが作成される」
- 「簡単に元の文字列に戻すことができない」
という特徴があります。
このハッシュ同士を比較することで、パスワードの中身を見られることなく正しいパスワードかどうかが比較できます。
また、文字列をハッシュに変換することを「ハッシュ化」といい、ハッシュ化の手法としてSHA-256やMD5などがよく知られています。
- [セッション (session)とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典]
http://wa3.i-3-i.info/word1791.html
- HTTPセッション 5.7 Laravel
https://readouble.com/laravel/5.7/ja/session.html
- Laravelでセッションを使ってみる - Qiita
https://qiita.com/reflet/items/5638ab18fd7cededed17
- 認可 5.7 Laravel
https://readouble.com/laravel/5.7/ja/authorization.html
- Laravelで爆速API開発シリーズ「認可編」 | WINDII
https://windii.jp/laravel/authorization