如果用户已经过身份验证,如何允许使用设计登录?

时间:2015-01-19 04:18:41

标签: ruby-on-rails ruby devise warden

当您第一次打开网站时,会有一个创建新用户的应用程序(如果您没有cookie)。您也可以以不同的用户身份登录。问题是Devise不允许以已经过身份验证的用户身份登录。即使我在require_no_authentication中覆盖SessionsController,warden仍会通过会话记住用户。

我知道guest user pattern,但没有访客用户。该应用程序旨在创建真实用户帐户,并允许以其他用户身份登录。

所以问题是我应该制定新的Warden战略吗?如果是的话,我应该做哪些检查?或者还有另一种方式?

1 个答案:

答案 0 :(得分:0)

只需在所需操作中重置会话即可。您可以将第一行设为reset_session,或将其设置为过滤器之前,如下所示:

before_filter :deauthorize_user, only: [ :some_action ]

def deauthorize_user
  reset_session
end