2015-06-17 15 views
0

我做我的第一個應用程序與軌且僅當用戶登錄,只有管理員可以創建用戶這個應用程序將可以訪問,所以,當我的應用程序將是網上我至少需要一個管理員創建其他權利?使用加密的口令與數據庫中創建用戶:種子

我用的種子試圖創建一個用戶,用戶以及創建的,但我無法連接到我與它的應用程序,我認爲這是與加密口令的概率,這裏是我做了什麼:

UserManager::User.create({ name: 'a', surname: 'a', email: 'a', active: true, id: 1, password_hash: 'a', password_salt: 'a'}) 

這是可能的,它是正確的創建用戶與種子?如果是我該如何加密種子中的密碼?

回答

0

我使用rails製作我的第一個應用程序,只有當用戶登錄並且只有管理員可以創建用戶時才能訪問此應用程序,因此當我的應用程序在線時,我需要至少一個管理員創建其他權限?

這是可能的,這是正確的種子創建用戶? 這可能是一個有爭議的問題,但只要你保護你的種子文件,這可能是一個合理的方法。您可能希望儘快更改密碼和/或使用環境變量作爲密碼。無論你做什麼,都不要使用明文,將你的管理員密碼添加到你的git存儲庫,然後在生產中保持不變。

,如果是我該怎麼辦加密種子密碼? 您可能不應該明確加載像password_hashpassword_salt這樣的屬性。相反,只需設置password(如果有的話,則爲password_confirmation)。

+0

我有一個問題,當我需要設置「密碼」和「password_confirmation」,這兩個領域是不是在數據庫中,他們只是加密保存之前,因此密碼是不明,任何想法? –

+0

是的,你需要''has_secure_password'在你的模型中記錄[這裏](http://api.rubyonrails.org/classes/ActiveModel/SecurePassword/ClassMethods.html)。您還需要'bcrypt' gem,您應該使用它來生成用戶明文密碼的哈希摘要。 –

+0

我創建了一個更具體的問題http://stackoverflow.com/questions/31026248/encrypt-users-password-in-seed-file問題是當我想在種子文件中設置密碼,'密碼'是未知的 –

0

您應該運行:

UserManager::User.create(name: 'a', surname: 'a', email: 'a', password: 'foobar123', password_confirmation: 'foobar123') 

由史蒂夫其他答案回答剩下的問題。

相關問題