我正在使用rails制作我的第一个应用程序,只有用户登录且只有管理员可以创建用户才能访问此应用程序,因此当我的应用程序在线时,我需要至少一个管理员来创建另一个权限?
我尝试使用种子来创建用户,用户已经很好地创建但我无法使用它连接到我的应用程序,我认为这是加密密码的问题,这就是我所做的:
UserManager::User.create({ name: 'a', surname: 'a', email: 'a', active: true, id: 1, password_hash: 'a', password_salt: 'a'})
这是可能的,用种子创建用户是正确的吗?如果是如何加密种子中的密码?
答案 0 :(得分:0)
我正在使用rails制作我的第一个应用程序,只有用户登录且只有管理员可以创建用户才能访问此应用程序,因此当我的应用程序在线时,我需要至少一个管理员来创建另一个权限?的是
这是可能的,用种子创建用户是正确的吗? 这可能是一个值得商榷的问题,但只要您保护种子文件,这可能是一种合理的方法。您可能希望尽快更改密码和/或使用环境变量作为密码。无论您做什么,都不要使用明文,将您的管理员密码添加到您的git存储库,然后在生产中保持不变。
如果是如何加密种子中的密码呢? 您可能不应该明确加载password_hash
和password_salt
等属性。相反,只需设置password
(如果有的话,设置password_confirmation
)。
答案 1 :(得分:0)
你应该跑步:
UserManager::User.create(name: 'a', surname: 'a', email: 'a', password: 'foobar123', password_confirmation: 'foobar123')
史蒂夫的其他答案回答了剩下的问题。