有设计的 ActiveAdmin
ActiveAdmin with devise
我有一个项目使用 devise_token_auth for authentication. I have installed Active Admin following this。
当我尝试访问 localhost:3000/admin
时,我得到 You need to sign in or sign up before continuing.
但是,当我在 config/initializers/active_admin.rb
中评论 config.authentication_method = :authenticate_admin_user!
时,localhost:3000/admin
打开仪表板页面。
我的问题是为什么我没有获得活动管理员的登录页面?
在使用 ActiveAdmin
(AA) 和 devise_token_auth
时,您需要了解几件事。 AA 使用:
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
table。不要忘记根据您的需要调整它们。
注意:如果您在使用 AA 和 devise_token_auth 时遇到 ApplicationController
问题,请 refer to this link.
我有一个项目使用 devise_token_auth for authentication. I have installed Active Admin following this。
当我尝试访问 localhost:3000/admin
时,我得到 You need to sign in or sign up before continuing.
但是,当我在 config/initializers/active_admin.rb
中评论 config.authentication_method = :authenticate_admin_user!
时,localhost:3000/admin
打开仪表板页面。
我的问题是为什么我没有获得活动管理员的登录页面?
在使用 ActiveAdmin
(AA) 和 devise_token_auth
时,您需要了解几件事。 AA 使用:
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
table。不要忘记根据您的需要调整它们。
注意:如果您在使用 AA 和 devise_token_auth 时遇到 ApplicationController
问题,请 refer to this link.