Authlogic:ユーザーが2回ログインできないことを保証する
-
06-07-2019 - |
質問
Authlogic に簡単な方法はありますか? a href = "http://authlogic.rubyforge.org/" rel = "nofollow noreferrer">ドキュメント)へ ユーザーがすでにUserSessionオブジェクトを持っている場合、UserSessionを作成できないことを保証しますか?
つまり、ユーザーが同じ資格情報で2回ログインできないようにします。
更新:泥棒の答えに対するコメントを確認して、この問題の解決策を見つけてください。
解決
ユーザーセッションコントローラー:
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コールバックを定義し、適切な場合にモデルを無効としてマークできます。ただし、自分で試したことはありません。 コールバックモジュールのドキュメントをご覧ください。
所属していません StackOverflow