ちょっとアクセス制限掛けようか。
こんなもの、後回しでも良いんだけど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