【问题标题】:How can i authenticate the model in rails admin based on the user's role?如何根据用户的角色在 rails admin 中验证模型?
【发布时间】:2019-12-11 07:01:33
【问题描述】:

我有一个组织模型,我想根据用户的角色进行身份验证,即 adminsuperadmin。当我以 admin 身份登录时,列表上不应该有组织模型,并且它的 CRUD 操作也不应该工作,但是当以 superadmin 身份登录时,它应该可以正常工作。 我还尝试根据用户角色在 rails admin 中隐藏组织模型,但它显示以下错误:

我对 Rails 管理员配置了解不多,因此我可能对尝试隐藏模型的方式有误。那么是否有任何其他方法可以做到这一点,以及基于用户角色对模型进行身份验证的更好解决方案??

用户.rb

  enum role: [:admin, :superadmin]

Rails 6.0.1

rails_admin 2.0

【问题讨论】:

  • 您的屏幕截图与问题无关。 current_user 通常只能在 Controller 和 View 中访问。您要做的是“授权”,并由 Rails Admin 中的“cancancan”gem 控制。在 Rails 管理员的 wiki 上阅读 more
  • 感谢您的关注,但除了“授权”之外,我还想根据用户角色隐藏模型,我的屏幕截图指的是我尝试这样做时的错误。因此,如果无法访问 current_user 我该怎么做,因为我认为“cancancan”gem 只会帮助我进行授权,或者在基于角色隐藏模型的同时处理 UI 部分是否会有所帮助??
  • 隐藏UI部分,cancancan提供can?方法。在cancancancheck abilities 部分阅读更多内容

标签: ruby-on-rails rails-admin


【解决方案1】:

rails_admin 依赖于 cancancan 进行授权,使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-15
    • 1970-01-01
    • 2015-12-01
    相关资源
    最近更新 更多