RESTful login
- ログインする = 有効なログイン済み"カレント"ユーザーを作る
- ログアウトする = 有効なログイン済み"カレント"ユーザーを削除する
# config/routes.rb # -- map.resources :users, :controller => "wj_users", :collection => { :current => :any } do |users| end
# app/controller/wj_users_controller.rb # -- def current case request.method when get # do nothing raise WebJourney::AuthenticationRequiredError.new unless login? when :put, :post do_login(params[:id], params[:password]) when :delete do_logout return redirect_to(page_path(WjPage.top)) end # respond cases except delete respond_to do |format| format.html { redirect_to page_path(current_user.find_or_create_start_page)} format.xml { redirect_to user_path(current_user)} end end
こういうこと?
2008/01/07 追記 : ログインしていないときはGETは401を返すように。