首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用warden.authenticate进行身份验证!

如何使用warden.authenticate进行身份验证!
EN

Stack Overflow用户
提问于 2010-12-30 09:55:09
回答 3查看 12.7K关注 0票数 4

当我在我的论坛上发表评论时,我想做一个“登录或注册”。我正在使用Devise/Warden。

我想做这样的事情:

代码语言:javascript
复制
user = warden.authenticate!(params[:email], params[:password])
sign_in(:user, user)

有人能给我一些如何做到这一点的小贴士吗?

谢谢!

EN

回答 3

Stack Overflow用户

发布于 2015-03-31 01:47:21

Warden有一个set_user帮助器方法。所以你应该能够做到:

warden.set_user(@user, scope: :user)

您可以定义一个控制器帮助器方法,让用户登录并将他们重定向到您想要的路径

欲了解更多信息,请访问:https://github.com/hassox/warden/wiki/Authenticated-session-data

票数 3
EN

Stack Overflow用户

发布于 2010-12-31 02:51:27

在模型中启用:可注册但不可:可确认。

票数 1
EN

Stack Overflow用户

发布于 2017-04-25 20:36:36

我知道这是一个老生常谈的话题,但我已经把它用过了。

代码语言:javascript
复制
# 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

代码语言:javascript
复制
# File 'app/controllers/devise/sessions_controller.rb', line 45

def auth_options
    { scope: resource_name, recall: "#{controller_path}#new" }
end

希望这能帮上忙。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4559434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档