後へ      Topへ      次へ

Devise: ユーザー認証

認証と認可

WEBアプリを運用する場合、
誰でも何でもできる、というのは避けたいです。
まず、ログイン画面を作って「誰」かを確認します。
予めユーザー毎にできることを決めておいて、その範囲で使ってもらいます。
用語は以下の通りです。

WEBアプリでは一般に、
「認証」によって誰かを確認したら、
その人の ID (またはグループ) を使って「認可」を行うのが一般的です。

Aさんはアドミンだから何でもできる、
Bさんは Book は見れるけど編集はできない、
など。

(認証ID と認可ID、みたいに別々に管理するのは面倒)

ユーザー認証: Devise

サンプルプログラムでは、
ユーザー認証に GEM Devise を使っています。

環境設定は以下のようにします。

  1. book_mgmt\Gemfile ファイルの末尾に、
    gem “devise”
    と追記して保存します。
  2. ruby34.bat を管理者権限で実行します。
  3. プロンプトで
    bundle install
    (GEM Devise がインストールされる)
  4. ruby bin/rails generate devise:install
    (WEBアプリに Devise が設定される)
  5. ruby bin/rails generate devise User
    (ユーザー認証に、データベースの User テーブルを使う)
  6. ruby bin/rails db:migrate
    (マイグレーション実行)

ただ、これだけだと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
に差分があります。


後へ      Topへ      次へ