WEBアプリを運用する場合、
誰でも何でもできる、というのは避けたいです。
まず、ログイン画面を作って「誰」かを確認します。
予めユーザー毎にできることを決めておいて、その範囲で使ってもらいます。
用語は以下の通りです。
WEBアプリでは一般に、
「認証」によって誰かを確認したら、
その人の ID (またはグループ) を使って「認可」を行うのが一般的です。
Aさんはアドミンだから何でもできる、
Bさんは Book は見れるけど編集はできない、
など。
(認証ID と認可ID、みたいに別々に管理するのは面倒)
サンプルプログラムでは、
ユーザー認証に GEM Devise を使っています。
環境設定は以下のようにします。
book_mgmt\Gemfile ファイルの末尾に、ただ、これだけだとWEBアプリの見た目は変化ありません。
次章から、順番に追加設定していきます。
上記の設定で、
データベースの users テーブルに、
email
encrypted_password
reset_password_token
reset_password_sent_at
remember_created_at
のカラムが追加されます。
サンプルプログラムでは、このうち、
email と encrypted_password のみを使用します。
リポジトリ的には、
https://github.com/Bonv-dev/book_mgmt/commit/ddfed9d
に差分があります。