【发布时间】:2013-10-21 04:46:51
【问题描述】:
我在使用 Devise 时遇到问题。嗯,这不是一个真正的问题,而是一个“我不知道该怎么做”。
我实际上是在我的 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 只在应用程序内部而不是在注销时?
谢谢大家
【问题讨论】:
标签: ruby-on-rails devise customization