active_adminの認証を他のページに設定する方法

active_adminrailsで定義したモデルを操作するwebインターフェースを数コマンド叩くだけで簡単に定義してくれるお手軽なツールです。まれにあるページに対して認証を定義したい時がありますがactive_adminの認証を簡単に設定する方法があります。

認証を設定したいページにbefore_action(Rails3ならbefore_filter)を追加するだけ。

class ToolController < ApplicationController
  before_action :authenticate_admin_user!
end

こうするとactive_adminと同じIDとパスワードを使ってログイン認証をページにつけることができます。実際はactive_adminが内部的に使っているdeviseの機能ですが。