我想在论坛上发表评论时,即时进行“登录或注册”。我正在使用Devise / Warden。
我想做这样的事情:
user = warden.authenticate!(params[:email], params[:password])
sign_in(:user, user)
有人可以给我一些如何做到的提示吗?
谢谢!
答案 0 :(得分:1)
开启:可注册但不可:在您的模型中确认。
答案 1 :(得分:1)
Warden有set_user
辅助方法。所以你应该能够做到:
warden.set_user(@user, scope: :user)
你可以定义一个控制器助手方法,登录用户并将它们重定向到你想要的路径
有关详细信息,请访问:https://github.com/hassox/warden/wiki/Authenticated-session-data
答案 2 :(得分:0)
我知道这是一个古老的话题,但我已经使用了
# Inside SessionController < Devise::SessionsController
def create
self.resource = warden.authenticate!(auth_options)
sign_in(resource_name, resource) # this will set cookie
end
它是特定的设计,但是当在设计控制器中检查auth_options方法时,我发现了这段代码here:
# File 'app/controllers/devise/sessions_controller.rb', line 45
def auth_options
{ scope: resource_name, recall: "#{controller_path}#new" }
end
希望有所帮助。