ちょっとアクセス制限掛けようか。

こんなもの、後回しでも良いんだけどwww

まあ、usersコントローラのテスト書くために、付けておこうかな、と思った次第ですわ。

んで、その前に、「ログインしている時はアクセスできない」ようにするメソッドを追加する。
lib/authenticated_system.rb

+    # Prevents logged in users from accessing actions reserved for
+    # non-authenticated users such as the login or signup forms
+    # Make sure to redirect to a path they can access to avoid an infinite loop
+    def login_prohibited
+      !logged_in? || redirect_to(root_path)
+    end
+

これまた、単純なコードでwww

んで、アクセス許可は、ホワイト・リスト方式で。
全てのコントローラへのアクセスを遮断。
app/controllers/application.rb

+  before_filter :login_required

んで、ログイン画面は表示されないとまずいから、
app/controllers/sessions_controller.rb

+  skip_before_filter :login_required, :only => [:new, :create]
+  before_filter :login_prohibited, :only => [:create]
(略)
  def new
+    if logged_in?
+      redirect_to(user_path(current_user.id))
+    end
  end

ログアウト = destroyコントローラは、ログインしていないと意味が無いんで、上記のコントローラは外しておく。
んで、ログインしたあとに、ログイン画面見てもしょうがないんで、user_path(current_user.id)へリダイレクト。

まあ、自分のプロファイル見てもしょうがないんだがねwww
まあ、リダイレクト先 = 自分のトップページは、追々作ることにする。

次。
app/controllers/users_controller.rb

+  before_filter :find_user, :only => [:suspend, :unsuspend, :destroy, :purge]
+  skip_before_filter :login_required, :only => [:new, :create, :activate]
  before_filter :login_prohibited, :only => [:new, :create, :activate]

はい。
アクセス・コントロール、完了ですかwww