演習課題「セッションidを削除する」
右の環境には、「myblog」プロジェクトに「Welcome#index」という静的ページが作成してあります。また、ユーザー認証構築用にdeviseを導入して、「Admin」というモデルを作成してあります。そして、1個のブラウザが立ち上がって、ログイン状態になっています。
このアプリのセッションidを削除して、ブラウザをログアウト状態にしてください。
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
#06:セッションとパスワードを理解する
ここでは、ログイン状態を保持するセッションとユーザーを認証するパスワードについて学習します。deviseを使うと、セッション管理機能も簡単に組み込むことができます。
ログインしてから、ログアウトするまでの一連のアクセスを「セッション」と呼びます。
Webサイトへの基本的なアクセスでは、アプリケーション側でそれぞれのアクセスは独立しています。そのために、同じ人が同じサイトに複数回アクセスしても、それぞれのアクセスを区別できません。これでは、アクセスするたびにログインし直す必要があります。
そこで、セッションという仕組みが使われています。セッションは、ログインすると開始して、そのアクセスを区別する「セッション情報」を記録します。そして、ログアウトしたり、ブラウザを閉じて一定時間が経ったりすると終了します。この「セッション情報」おかげで、セッションが有効な間、Webアプリケーションに同じ人がアクセスしていると判断できるようになります。
Google Chromeの場合
1.「設定」メニューを呼び出す
2.「詳細設定」-「コンテンツの設定」-「Coookies」-「すべてのクッキーとサイトデータ」
3.Webアプリケーションのドメイン名を検索する
$ rails console
user = User.find(2)
user.email
user.encrypted_password
- [セッション (session)とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典]
http://wa3.i-3-i.info/word1791.html
- [今さら聞けないセッションとCookie、ログイン・ログアウト(Rails編) - Qiita]
https://qiita.com/SpicyCoffee/items/de9de9a5427adf81817a
- [Rails4での基本的なセッションの使い方 - Rails Webook]
http://ruby-rails.hatenadiary.com/entry/20141130/1417334030
- [Rails セキュリティガイド | Rails ガイド]
https://railsguides.jp/security.html
- [第8章 ログイン、ログアウト | Rails チュートリアル]
https://railstutorial.jp/chapters/log_in_log_out?version=4.2#cha-log_in_log_out