1

我正在用 ruby​​ 和 hanami 构建一个应用程序,但是我认为我的问题可能与框架无关。该应用程序的用户将登录以预约会议。用户的密码将使用 bcrypt 加密。

我的问题是关于用户创建的。用户不会注册,但他们将由管理员预先创建。所有用户数据都已经是 csv 格式,并且可以直接导入到数据库中,无需管理员单独创建每个数据。

是否可以这样做,并且在导入其余数据后还为所有用户生成密码(如初始密码)?

问候

塞巴

4

1 回答 1

1

此处的最佳做法是同时拥有不同的密码哈希字段和注册确认令牌字段。注册令牌以随机字符串的形式生成,该字符串非常难以猜测,并发送给创建的用户。通常这是通过电子邮件完成的,但它可以是任何允许您发送链接的东西。

这些链接看起来像:

http://example.com/confirm/IVfltNx18MEgU57pvtRGg2lx

最后一点是您的确认令牌。

您使用该确认令牌查找任何用户记录,然后询问该用户的初始密码。这就是您保存在数据库中的内容。届时,您可以决定永久禁用此 URL。有时这对安全性很重要,有时却非常不方便,因为用户会抱怨他们的注册链接不再有效。您必须评估保持其活跃的风险和收益。

通常,此注册系统可以与您无论如何都需要的“重置密码”功能结合或扩展。对于邀请,最好在第一次创建密码时解释用户设置密码的目的,您可能需要解释服务是什么,以免他们感到困惑,而对于重置请求,他们已经知道要做什么预计。

于 2016-03-09T06:29:34.357 回答