为Web应用程序的所有用户生成密码

时间:2016-03-09 05:41:19

标签: ruby web-applications passwords hanami

我正在使用ruby和hanami构建应用程序,但我认为我的问题可能不依赖于框架。该应用的用户将登录预约会议。用户的密码将使用bcrypt加密。

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

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

此致

西巴

1 个答案:

答案 0 :(得分:1)

此处的最佳做法是同时具有密码哈希字段和不同的注册确认令牌字段。注册令牌是作为随机字符串生成的,这是一种非常不可思议的内容,并且会被发送给创建的用户。通常这是通过电子邮件完成的,但它可以是允许您发送链接的任何内容。

这些链接看起来像:

http://example.com/confirm/IVfltNx18MEgU57pvtRGg2lx

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

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

通常,此注册系统可以与“重置密码”相关联或扩展。无论如何你都需要这个功能。对于邀请,最好解释用户在第一次创建密码时设置密码的内容,您可能需要解释服务是什么,以免他们混淆,而使用重置请求他们已经知道会发生什么了。