首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >你能用设计和主动管理来禁用专家吗?

你能用设计和主动管理来禁用专家吗?
EN

Stack Overflow用户
提问于 2016-01-07 07:24:24
回答 3查看 831关注 0票数 0

我有一个现有的Rails应用程序,它在用户模型上运行设计/专家。

我一直在跟踪:

How to get Active Admin to work with Pundit after login

https://gist.github.com/tomchentw/8579571

我现在不需要授权-设计认证就行了。我可以直接为主动管理的"turn off"专家吗?

更新

这是超级猴子贴片:

代码语言:javascript
复制
after_action :verify_policy_scoped, only: [:index] if controller_path.split('/').first == "admin"

它有效,但我不认为它是理想的。

EN

回答 3

Stack Overflow用户

发布于 2016-01-07 07:45:24

代码语言:javascript
复制
config.authentication_method = false  
config.current_user_method   = false

在您的配置/初始化器/active_admin.rb中

票数 0
EN

Stack Overflow用户

发布于 2016-01-07 07:59:58

您可以尝试设置授权适配器。

建立自己的AuthorizationAdapter很容易!下面的示例演示如何设置授权适配器类并将其绑定到Active Admin:

代码语言:javascript
复制
# app/models/only_authors_authorization.rb
class NotAdminAuthorization < ActiveAdmin::AuthorizationAdapter

  def authorized?(action, subject = nil)
   false
  end

end

然后

代码语言:javascript
复制
config.authorization_adapter = "NotAdminAuthorization"

而其他您可以定义名称空间切换。

代码语言:javascript
复制
ActiveAdmin.setup do |config|
  config.namespace :admin do |ns|
    ns.authorization_adapter = "NotAdminAuthorization"
  end
  config.namespace :my_user do |ns|
    ns.authorization_adapter =  ActiveAdmin::PunditAdapter
  end
end

然后像这样

代码语言:javascript
复制
ActiveAdmin.register Post, namespace: :my_user
票数 0
EN

Stack Overflow用户

发布于 2022-10-06 15:11:05

万一有人有这个问题。这是另一种解决办法:

应用程序/控制器/应用程序_控制器。

代码语言:javascript
复制
after_action :verify_authorized, except: %i[index], unless: :active_admin_controller?

after_action :verify_authorized, only: %i[index], unless: :active_admin_controller?

protected

def active_admin_controller?
  is_a?(ActiveAdmin::BaseController)
end

这将禁用专家对所有活动管理控制器的授权检查。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34649465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档