START30 BLOG
Web開発に関する備忘録や
日々の雑記ブログ
  • Ruby on Rails
  • 2018年8月15日
ENTRY TITLE

Railsでのユーザー認証ライブラリ『Devise』の実装例

  • LINEで送る
  • このエントリーをはてなブックマークに追加

Diviseとは

オープンソースのユーザー認証ライブラリ。どうやらRailsでのユーザー認証ライブラリとしてはスタンダードらしい。

実際にとても簡単に認証機能を実装することができた。

手順

Gemのインストール

Gemfileに追記して、bundle install する。

[Gemfile]


gem 'devise'
 

[bash]


$ bundle install
 

Deviseのインストール

[bash]


$ rails generate devise:install
 
  • プロジェクト内にDevise利用のための設定ファイルが作成される。

Deviseを生成する

  • railsコマンドの拡張 rails generate devise でDeviseの機能を生成することができる。
  • accountはDevice用のモデル。
  • モデル名は任意。
  • 生成後、db:migrate を実行。
  • とりあえずこれでDeviceの機能を使える。

$ rails g devise account
$ rails db:migrate
 

ログイン必須ページを作る

[hoge_controller.rb]


# セッションがなければログインページに遷移する。
before_action :authenticate_account!

# ` current_account ` でログイン中のアカウントを取得できる。
def hoge
    @account = current_account
end
  

テンプレを編集する

デフォルトでスタイルの定義などされていないログインフォームなど吐き出してくれますがカスタマイズは必須だと思うのでテンプレを編集する際には以下を実行する。

  • config/initializers/devise.rbを開いて、config.scoped_views を有効にする。
  • 設定ファイルを修正した後はRailsサーバの再起動。
  • rails g devise:views account を実行してviewファイルを生成する。
  • あとは生成されたファイル弄る。

 

参考サイト

 

  • LINEで送る
  • このエントリーをはてなブックマークに追加

RELATED POST関連する記事