繁体   English   中英

带设计的ActiveAdmin

[英]ActiveAdmin with devise

我有一个使用devise_token_auth进行身份验证的项目。 我已经安装了主动联系下面这个

当我尝试访问localhost:3000/admin我得到You need to sign in or sign up before continuing.

但是,当我评论config.authentication_method = :authenticate_admin_user! config/initializers/active_admin.rblocalhost:3000/admin打开仪表板页面。

我的问题是为什么我没有获得活动管理员的登录页面?

同时使用ActiveAdmin (AA)和devise_token_auth时,您需要了解几件事。 机管局使用:

  • Devise认证
  • :admin作为默认名称空间

这意味着您所有的AA资源都将在/admin下具有路由,例如/admin/posts并且它们将使用Devise进行身份验证; 不是devise_token_auth

为了使用两种类型的身份验证系统,必须使用两个名称空间:一个用于AA,一个用于devise_token_auth。

在这种情况下,一种常见的策略是在devise_token_auth之前定义AA路由,如下所示:

Rails.application.routes.draw do

  # AA routes available at /admin
  devise_for :admin_users, ActiveAdmin::Devise.config
  ActiveAdmin.routes(self)

  # token auth routes available at /api/v1/auth
  namespace :api do
    scope :v1 do
      mount_devise_token_auth_for 'User', at: 'auth'
    end
  end

end

在这里,AA使用:admin_users ,token_auth将使用:users表。 不要忘记使它们适应您的需求。

注意 :如果在使用AA和devise_token_auth时遇到ApplicationController麻烦,请参考此链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM