deviseでのセッションタイムアウト設定
目次
- セッションタイムアウトを設定するメリット
- セッションタイムアウトを設定するデメリット
- deviseでのセッションタイムアウト設定
1. セッションタイムアウトを設定するメリット
- セッションの盗用などの不正行為の対策になり、安全にアプリケーションを運用することができる
- 利用ユーザーのステータスを判定することによって、サーバー側の負担を軽減させることができる
2. セッションタイムアウトを設定するデメリット
- 入力フォームなどで、一度中断をし、再開後に入力を行うことができないこと
- ログイン状態が切れる回数が多いと、ユーザーが再度ログインする必要があるので、アプリケーションの使い勝手が悪いと判断されてしまうこと
3. deviseでのセッションタイムアウト設定
3-1. Deviseのセッションタイムアウトを設定
以下の記述を入力しましょう。
(コメントアウトされているので、コメントを解除すればOK)
config/initializers/devise.rb
config.timeout_in = 30.minutes
3-2. Userモデルに「timeoutable」を設定
以下の記述を入力しましょう。
app/models/user.rb
class User < ApplicationRecord
devise :database_authenticatable, :registerable,...省略...:timeoutable
end
※ テストを行う際は1分で設定することがおすすめです。
以上でdeviseでのセッションタイムアウト設定になります。