我遇到了使用Devise的問題。那麼這不是一個真正的問題,但更多的是「我不知道該怎麼做」。Rails 4:爲多個角色定製Devise 3.1.0
我實際上在我的Rails 4應用程序中使用Devise 3.1.0。到目前爲止,我只有我的sign up
,用戶可以通過它登錄到系統中。
現在的問題是,我現在正在爲每個用戶添加組和角色,因爲每個用戶都會屬於特定的組(本身就是一家公司)。所以在這種情況下,當用戶首次註冊時,他會註冊爲管理員並創建他的公司。但是,讓我們說,從這個應用程序的內部,這個管理員想要創建所有屬於該特定公司的其他用戶。
我知道我可以覆蓋Devise::RegistrationController
,但看着他們原來的update
方法讓我覺得如果我複製他們的代碼並在我周圍進行破解以使其工作,代碼會變得臃腫。
我特別關心的是strong parameters
。讓我來解釋一下,其實我對Devise::RegistrationsController
覆蓋account_update_params
,因爲它:
protected
def account_update_params
params.require(:user).permit(:lastname, :firstname, :email, :current_password, :password, :password_confirmation)
end
但是,如果我想從應用程序管理員添加的帳戶,我還需要允許:role
它可以在寄存器形式的安全問題。如果有人在註冊時嘗試向角色注入某些東西會怎樣?
如何做到這一點只允許:role
在應用程序內但不是在註銷時允許的最佳方式?
感謝大家
謝謝你的幫助。我不知道使用'User.create'仍然會使認證引擎工作。它解決了我的問題,知道這一點。謝謝:) – lkartono
酷,雅我花了幾天的設計嘗試克服這樣的問題。設計是太棒了,但可能很難定製。 – OneChillDude