[英]How to use multi devise model for rails_admin
我有兩個設計模型, user
和admin
,當user
和admin
通過登錄表單登錄時,將重定向到/admin
我已經閱讀了rails_admin wiki ,但它似乎只是關於單一設計模型的配置,我可以定義多個warden范圍,如下所示:
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
您可以添加多個設計模型。 這是一個示例(使用校驗和驗證):
# 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.