我在使用 Devise 时遇到问题。好吧,这不是真正的问题,而是“我不知道该怎么做”。
我实际上在我的 Rails 4 应用程序上使用了 Devise 3.1.0。到目前为止,我只有我sign up
的用户可以通过它来将自己注册到系统中。
问题是现在,我正在为每个用户添加组和角色,因为每个用户都属于一个特定的组(公司本身)。所以在这种情况下,当用户第一次注册时,他注册为管理员并创建了他的公司。但是假设在这个应用程序内部,这个管理员想要创建其他用户,这些用户都属于那个特定的公司。
我知道我可以覆盖他们的原始方法,Devise::RegistrationController
但看着他们的原始update
方法让我觉得如果我复制他们的代码并破解我的代码以使其工作,代码会变得臃肿。
我特别关心的是strong parameters
. 让我解释一下,实际上我覆盖了account_update_params
它Devise::RegistrationsController
:
protected
def account_update_params
params.require(:user).permit(:lastname, :firstname, :email, :current_password, :password, :password_confirmation)
end
但是,如果我想以管理员身份从应用程序添加帐户,我还需要允许:role
这可能是注册表单中的安全问题。如果有人在注册时尝试向角色注入一些东西怎么办?
如何以最好的方式:role
只允许在应用程序内部而不是在注销时允许?
谢谢大家