`
doabit
  • 浏览: 52818 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
社区版块
存档分类
最新评论

Active_admin works with cancan

阅读更多
这半年多一直在做rails相关的东西,后台也一直用的active_admin,感觉还是很方便的,而且可定制性比rails_admin高,不过最近需要让active_admin和cancan好好地一起工作,找了些资料 ,终于实现了,发现还是比较简单的,我已经加到active_admin的wiki了

以网站权限设置编辑人员只能管理新闻,而且只能加和看,不能删
1.app/models/ability.rb
class Ability
  include CanCan::Ability

  def initialize(user)
    user ||= AdminUser.new       
    case user.role      
      when "admin"
        can :manage, :all
      when "editor"
        can :manage,Post   
        cannot [:destroy,:edit], Post   
      end
  end 
end  


2.app/helpers/application_controller.rb
 def current_ability
    @current_ability ||= Ability.new(current_admin_user)
  end


3.app/admin/admin_user.rb
# encoding: UTF-8
ActiveAdmin.register AdminUser do    
  menu :if => proc{can? :manage,AdminUser}     
  controller.authorize_resource 
end 


如果要对其它model设置权限 ,和admin_user.rb一样设置就可以了

转载注明:

iteye---doabit
1
0
分享到:
评论

相关推荐

    spree_admin_roles_and_access:Spree的管理员角色和访问权限

    此狂欢扩展基于CanCan构建,可动态添加新角色并通过权限定义其访问权限。 演示版 尝试在Heroku上直接部署的Spree管理员的Spree管理员角色和访问权限: 直接在Heroku上尝试使用Spree管理员角色和Spree 4-1的访问...

    Python-cancan是一个基于rubycancan库的小型权限控制器

    if user.is_admin: # 假设user对象有一个is_admin属性 self.can(:manage, :all) # 管理员可以操作所有资源 else: self.can(:read, User) # 其他用户只能读取用户信息 ``` - **授权检查**: 在你的代码中,你可以...

    Rails3 device and cancan

    标题《Rails3 device and cancan》与描述《ROR ruby on rails device plugin教程》指出本文是关于如何在Rails 3.2应用程序中整合Devise认证插件和Cancan授权插件的教程。Devise是一个流行的Ruby on Rails的认证解决...

    cancan:cancan是基于ruby cancan库的微小权限控制器

    可以可以介绍cancan是一个基于ruby cancan库的微型权限控制器。 一旦定义了用户能力,就可以轻松地检查用户的权限。安装pip install cancan 基本用法从cancan.Ability继承使用add方法添加用户能力def add ( self , ...

    admin-cancan-login-username:Ruby on Rails 设计 cancan admin login-username

    自述 此自述文件通常会记录启动和运行应用程序所需的任何步骤。 您可能想要涵盖的内容: Ruby版系统依赖配置数据库创建数据库初始化如何运行测试套件服务(作业队列、缓存服务器、搜索引擎等) 部署说明… 如果您不...

    cancan:Ruby on Rails的授权宝石

    CanCan是Ruby on Rails的授权库,它限制了给定用户被允许访问的资源。 所有权限都在一个位置( Ability类)中定义,并且不会在控制器,视图和数据库查询之间重复。 安装 在Rails 3中,将其添加到您的Gemfile并运行...

    bouncer:声明式身份验证 DSL 灵感来自 Ryan Bates 优秀的 cancan 库

    保镖受 Ryan Bates 出色的 Cancan 库启发的简单声明式身份验证 DSL 介绍认识保镖。 保镖是您忠实的仆人。 高大、魁梧、值得信赖——比他看起来更聪明,但他的工作非常有效。 你只需要简单地和他说话。 例如: from ...

    GD32F4 CANCAN.rar

    GD32F4 CANCAN.rar

    classy_cancan:对您的康康舞能力进行分类

    使用 Cancan/can 时,较大的 Ruby on Rails 应用程序中的Ability类可以快速增长。 这个 gem 允许您将模型特定的能力定义分离到它们自己的类中。 这是解决这个问题的第一种方法。 拉取请求使事情更容易使用非常感谢...

    cancan.js:javascript中的cancan

    **cancan.js** 是一个基于 JavaScript 的授权库,它为前端应用提供了权限管理的能力。在Web应用程序中,权限控制是至关重要的,特别是在多用户、角色分层的系统中,cancan.js允许开发者定义用户可以做什么,不能做...

    ruby gems (rails ,padrino, cancan ,puppet)

    在提到的标题和描述中,我们聚焦于四个特定的Ruby Gems:Rails、Padrino、Cancan和Puppet。这些Gem分别在Web开发、轻量级框架、权限控制以及配置管理方面起着重要作用。 Rails是Ruby on Rails的简称,它是一个基于...

    具有cancan和oauth支持的设计生成器。使用用户管.zip

    标题中的“具有cancan和oauth支持的设计生成器”揭示了这个项目是关于Web应用开发的,特别是关注权限管理和第三方身份验证。让我们深入探讨这两个关键组件。 Cancan是一个流行的Ruby on Rails授权库,由Ryan Bates...

    protector-cancan:Protector 和 CanCan 之间的集成层

    Protector 和 CanCan 都差不多:访问控制。 然而,它们在不同方面发挥作用:Protector 在模型级别上工作,而 CanCan 则是关于控制器防御。 有了这款宝石,您无需再选择:让它们协同工作以获得最佳效果。 集成使 ...

    使用Mysql和Mongo、Devise、CanCan、OmniAuth和TwitterBootst.zip

    使用Mysql和Mongo、Devise、CanCan、OmniAuth和TwitterBootst

    CanCan1Ruby2Devise3Rails4:在 Rails 4 上使用 CanCan 1 和 Devise 3 的应用程序

    ##设置 CanCan 1:Ruby 2:设计 3:Rails 4本指南部分是根据 Tony Amoyal 的教程 [here.] ( ) 创建的######创建一个新应用程序: rails new appbundle install ######安装设计: gem 'devise'bundle install rails ...

    cancan_lab-v-000

    CancanCan秘密笔记目标了解如何创建能力类。 了解如何在数据库中对权限进行建模。 防止用户访问控制器中的某些操作。 防止用户看到某些视图。概述我们将学习如何将集成到Rails应用程序中。 我们在此示例中的授权模型...

    pragmatik:具有配置授权、身份验证和资产的即用型应用程序

    #pragmatik用于敏捷、可管理和可部署应用程序的构建块主要使用的宝石: -Devise-Cancan-Rolify-rails_admin基础教程: 1)安装Ruby on Rails环境2)在您的终端中,使用git clone ...使用cd YOURAPPNAME进入应用程序目录4...

    canard:使Rails中基于角色的授权非常简单。 用少量语法糖,一些生成器和作用域包装CanCan和RoleModel

    Canard将CanCan和RoleModel结合在一起,使Rails中基于角色的授权变得容易。 您的能力定义将获得自己的文件夹和少许结构。 入门最简单的方法是使用Canard生成器。 Canard通过在模型的基本能力之上应用角色能力来逐步...

    SimpleCancan

    定义能力在模型中创建一个新的文件,名称为capability.rb,以下为示例: class Ability include SimpleCancan::Ability def initialize(account) account ||= Account.new case account.role when "admin" can :...

    canada:Elixir应用程序中的简单权限定义!

    如果您正在寻找可以满足CanCan在Rails应用程序中提供的功能的东西,则应该看看 ,它增加了对Ecto / Plug的支持。 安装 如果要最新版本,将其添加到mix.exs中的mix.exs列表中? defp deps do [ { :canada , " ~> ...

Global site tag (gtag.js) - Google Analytics