当我在我的论坛上发表评论时,我想做一个“登录或注册”。我正在使用Devise/Warden。
我想做这样的事情:
user = warden.authenticate!(params[:email], params[:password])
sign_in(:user, user)有人能给我一些如何做到这一点的小贴士吗?
谢谢!
发布于 2015-03-31 01:47:21
Warden有一个set_user帮助器方法。所以你应该能够做到:
warden.set_user(@user, scope: :user)
您可以定义一个控制器帮助器方法,让用户登录并将他们重定向到您想要的路径
欲了解更多信息,请访问:https://github.com/hassox/warden/wiki/Authenticated-session-data。
发布于 2010-12-31 02:51:27
在模型中启用:可注册但不可:可确认。
发布于 2017-04-25 20:36:36
我知道这是一个老生常谈的话题,但我已经把它用过了。
# Inside SessionController < Devise::SessionsController
def create
self.resource = warden.authenticate!(auth_options)
sign_in(resource_name, resource) # this will set cookie
end它是特定于设计器的,但是当我在devise控制器中检查auth_options方法时,我发现了这段代码here
# File 'app/controllers/devise/sessions_controller.rb', line 45
def auth_options
{ scope: resource_name, recall: "#{controller_path}#new" }
end希望这能帮上忙。
https://stackoverflow.com/questions/4559434
复制相似问题