我有rails应用程序: 具有Devise身份验证的Admin表 没有身份验证的电子邮件和名称的用户表(但是要记住它们的会话)
用户可以在任何地方浏览,但现在在某些页面上我想要增强它并添加身份验证 - 允许用户创建密码,只有密码才可以访问但是我很遗憾用什么方法做到最好目前的设定?
我允许用户添加他们的详细信息,如姓名和电子邮件,我正在创建一个cookie,以便在没有任何身份验证或密码的情况下记住它们:
{{1}}
我们说我在用户中有以下方法: before_filter:authenticate_user!,only :: your_order def your_order 端
如果用户将访问此页面并且之前没有设置密码,我该如何提示他创建密码?我怎样才能要求他在使用Devise后登录?我正在考虑更多的解决方案,但没有一个是完美的。
答案 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