在我正在开发的Rails应用程序中。我试图通过输入他们的电子邮件地址然后通过确认电子邮件确认他们的帐户来添加用户注册的能力。我不希望用户必须输入任何密码。 我会如何去做这件事?设计电子邮件只注册 - rails
这个例子是有用的,但需要用户输入密码:https://github.com/plataformatec/devise/wiki/How-To:-Email-only-sign-up
我应该自动使用一个密码,所有用户?
在我正在开发的Rails应用程序中。我试图通过输入他们的电子邮件地址然后通过确认电子邮件确认他们的帐户来添加用户注册的能力。我不希望用户必须输入任何密码。 我会如何去做这件事?设计电子邮件只注册 - rails
这个例子是有用的,但需要用户输入密码:https://github.com/plataformatec/devise/wiki/How-To:-Email-only-sign-up
我应该自动使用一个密码,所有用户?
设计为身份验证构建,这是一个密码或与社交网络的快速检查,这实际上是他们声称的人。电子邮件地址用作标识。
如果你只是想确定一个人通过他们的电子邮件,我建议你创建自己的系统。如果你喜欢,你甚至可以添加一些Devise功能。首先,创建一个User
模型与电子邮件属性:
rails generate model User email:string
一旦你迁移的数据库,为它创建一个控制器:
rails generate controller users
然后创建一个Session
模型,然后让每个User
创建会话通过登录。网络上将会有很多很棒的教程来介绍如何创建这样的系统。编写助手方法如current_user
或user_signed_in?
也应该很容易。
现在最后一点,如果您希望人们在使用电子邮件确认进行注册后登录,您如何确保它与登录确认电子邮件的人实际上是同一个人?任何恶意用户都可以简单地使用已经确认的帐户登录,除非您每次登录时都必须进行确认电子邮件...
因此,虽然您可以执行上述操作,但我会认真推荐使用某种无论是使用密码还是使用OmniAuth连接到社交网络。对于here有一个railscast。
不知道这是否会对您有所帮助,但基于身份验证过程的简单性,我建议您完全不要使用Devise。您只需在SessionsController
中创建一个动作,该动作会将(或者您在您的应用中调用它)与UsersTable
中列出的电子邮件进行比较。
链接到一些“网络上的精彩教程”将是有用的;) – Pak 2016-09-23 13:38:32