User がすでに UserSession オブジェクトを持っている場合、UserSession を作成できないことを保証するためのAuthlogic (ドキュメントを閲覧するものは何も見つかりませんでした)に簡単な方法はありますか?
つまり、ユーザーが同じ資格情報で 2 回ログインできないようにしたいのです。
更新: この問題の解決策を見つけるには、thief's answer のコメントを確認してください。
User がすでに UserSession オブジェクトを持っている場合、UserSession を作成できないことを保証するためのAuthlogic (ドキュメントを閲覧するものは何も見つかりませんでした)に簡単な方法はありますか?
つまり、ユーザーが同じ資格情報で 2 回ログインできないようにしたいのです。
更新: この問題の解決策を見つけるには、thief's answer のコメントを確認してください。
ユーザーセッションコントローラーで:
before_filter :require_no_user, :only => [:new, :create]
アプリコントローラーで:
def require_no_user
if current_user
store_location
flash[:notice] = "You must be logged out to access this page"
redirect_to account_url
return false
end
end
私の考えでは、よりクリーンなアプローチは、UserSession クラスでコールバックを使用することです。同様に、そこで before_create コールバックを定義し、適切な場合にモデルを無効としてマークすることができます。ただし、これを自分で試したことはありません。Callbacks モジュールのドキュメントは次のとおりです。