我正在使用 Devise 在 Rails 上构建服务,该服务需要“管理员”用户将普通用户添加到他们的组织帐户中。Devise 的默认行为不支持这一点,因为当登录的管理员用户尝试创建常规用户帐户时,会调用 ':require_no_authentication' 方法。
实现我正在寻找的功能的推荐方法是什么?
- :require_no_authentication 由 Devise::RegistrationsController 类中的 prepend_before_filter 调用,而不是在 RegistrationsController 方法之一中调用,所以我不知道这是否可以被覆盖(如果我错了,请纠正我)。
- 我相信将管理员用户与普通用户分开是可行的,但是这些用户将共享非常相似的属性,所以我相信这样做会增加不必要的重复。
- 我目前正在尝试使用带有“users#new”和“users#create”控制器操作的常规设计注册流程创建新的管理员用户(他们反过来创建普通用户所属的组织),并允许管理员添加新的用户通过“用户#添加”操作。
如果可能有另一个更好的用户身份验证 gem 更适合我的需求,我很乐意看看切换到那个。