【问题标题】:How to use multi devise model for rails_admin如何为 rails_admin 使用多设计模型
【发布时间】:2015-05-16 07:36:56
【问题描述】:

我有两个设计模型useradmin,当useradmin通过登录表单登录时,会重定向到/admin

我已经阅读了rails_admin wiki,但它似乎只是关于单个设计模型的配置,我可以定义如下的多看守范围吗:

RailsAdmin.config do |config|
  config.authenticate_with do
    warden.authenticate! scope: [:user,:admin]
  end
  config.current_user_method(&:current_user)
  config.current_admin_method(&:current_admin)
end

【问题讨论】:

  • 我正在尝试做同样的事情。你有想过吗?
  • @eibrahim,不行,我得把 rails_admin 换成 active_admin,它更强大

标签: ruby-on-rails devise rails-admin


【解决方案1】:

您可以添加多个设计模型。这是一个示例(带有校验和身份验证):

# initilizer/devise.rb
Devise.setup do |config|
  config.warden do |manager|
    manager.strategies.add :admin, Admin::ChecksumAuthenticatable
  end
end

你的类Admin::ChecksumAuthenticatable(例如)需要从::Devise::Strategies::Base继承。然后定义你想要的所有方法并覆盖authenticate!方法:

def authenticate!
  admin = Admin.from_checksum_for_auth!(checksum)
  # from_checksum_for_auth! is defined on Admin model and check checksum validity
  success! admin
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-11
    相关资源
    最近更新 更多