为现有用户创建密码和身份验证

时间:2018-05-23 13:11:54

标签: ruby-on-rails devise

我有rails应用程序: 具有Devise身份验证的Admin表 没有身份验证的电子邮件和名称的用户表(但是要记住它们的会话)

用户可以在任何地方浏览,但现在在某些页面上我想要增强它并添加身份验证 - 允许用户创建密码,只有密码才可以访问但是我很遗憾用什么方法做到最好目前的设定?

我允许用户添加他们的详细信息,如姓名和电子邮件,我正在创建一个cookie,以便在没有任何身份验证或密码的情况下记住它们:

{{1}}

我们说我在用户中有以下方法:       before_filter:authenticate_user!,only :: your_order       def your_order       端

如果用户将访问此页面并且之前没有设置密码,我该如何提示他创建密码?我怎样才能要求他在使用Devise后登录?我正在考虑更多的解决方案,但没有一个是完美的。

1 个答案:

答案 0 :(得分:0)

根据规定,下面提到的标准可能会对您有所帮助。

def your_order #before_filter
  if user.password.present?
   # authenticate using valid_password? method of devise
 else
   #redirect user to say set_password 
 end
end

def set_password
 #set the user password in this method and after successful completion redirect to login page where before filter your_order will be called
end