ログイン機能(ログイン処理)の作成

loginメソッドについて
-　認証機能のライブラリであるsorceryをbundle installしたことによって使えるようになったメソッド。
- ログイン処理をしてくれる。
- 引数はそれぞれ、ユーザーが入力したメールアドレスとパスワード。
- メールアドレスとパスワードが合致しなかった場合は、このコードではelse節の方に処理が進みむ。

セッションについて
- 「ちょっとしたお手軽データベース」みたいなもの。
- アクセスしてきたクライアントごとに情報を持たせる事ができるのが特徴。
- ログイン処理をする上では、セッションを利用することがキモ。
- loginメソッドは、セッションに「アクセスしてきたクライアントのユーザーIDは1234」というふうに覚えさせているので、ログイン状態を維持できる。

セッションの保存先について
- セキュリティ上の理由から、クライアントが自由に読み書きできては駄目。
- サーバー側にセッション用のデータ置き場を作成して、ユーザーが自由に変更できなくするのが基本。

クッキーについて
- セッションの保存先として、ブラウザに搭載された小さいデータベースのような保存場所。
- Rails 4は標準ではこのクッキーにセッション情報を保存している。
- クッキーは保存先がクライアント側なので、自由に開いて中身を閲覧する事ができてしまう。セキュリティ的に相当危険だが、下記対策をされている。
  1. 暗号化した状態で保存。
  2. 開いて中身を見ることはできるが、鍵なしでは意味不明な文字列となっている。
  3. 無理やり書き換えると壊れるようにしてある。
  * 保存先はクライアント側だか読み書きをさせないようにし安全性を保証している。
  * Railsでは、クッキーにセッションを保存する方法ではなく、別のデータベースに保存するように設定を変更する事が可能。
Merge remote-tracking branch 'origin/Repair'