【发布时间】:2012-07-10 16:00:09
【问题描述】:
我正在构建一个多租户应用程序。当用户创建帐户时,他们需要输入电子邮件 + 密码。登录后,该用户(“管理员”)可以将其他用户添加到他们的帐户中。我希望添加用户的能力很简单——只需要一个电子邮件地址。以下过程对于添加用户是否安全?
- 管理员转到添加用户表单
- 管理员输入用户的电子邮件地址并点击提交
- 电子邮件 + 唯一的registration_key + registration_expiration 被输入到用户模型中
- 新用户会收到一封包含注册链接的电子邮件(例如:http://account.myapp.com/registration/o4iwerl23msl424keree)
- 新用户打开注册表并输入必填密码+密码确认字段
- 如果URL中的registration_key与DB中的一致并且在注册到期之前,则用户可以注册
您会推荐一个替代方案吗?如果这是安全的,我如何绕过此过程的第 2 步和第 3 步中所需的密码 + 密码确认字段?
【问题讨论】:
-
你用的是什么认证系统?
-
没有身份验证系统 - 我自己滚动。
-
@JesseWolgamott:我编辑了我的问题并添加了第 6 步。
-
我知道您可能正在自行学习,但对于任何遇到此问题的人来说,最好的方法可能是使用 Devise 和 CanCan gem 或者一个简单的位掩码来控制用户访问级别。
标签: ruby-on-rails authentication registration