这半年多一直在做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
分享到:
相关推荐
此狂欢扩展基于CanCan构建,可动态添加新角色并通过权限定义其访问权限。 演示版 尝试在Heroku上直接部署的Spree管理员的Spree管理员角色和访问权限: 直接在Heroku上尝试使用Spree管理员角色和Spree 4-1的访问...
if user.is_admin: # 假设user对象有一个is_admin属性 self.can(:manage, :all) # 管理员可以操作所有资源 else: self.can(:read, User) # 其他用户只能读取用户信息 ``` - **授权检查**: 在你的代码中,你可以...
标题《Rails3 device and cancan》与描述《ROR ruby on rails device plugin教程》指出本文是关于如何在Rails 3.2应用程序中整合Devise认证插件和Cancan授权插件的教程。Devise是一个流行的Ruby on Rails的认证解决...
可以可以介绍cancan是一个基于ruby cancan库的微型权限控制器。 一旦定义了用户能力,就可以轻松地检查用户的权限。安装pip install cancan 基本用法从cancan.Ability继承使用add方法添加用户能力def add ( self , ...
自述 此自述文件通常会记录启动和运行应用程序所需的任何步骤。 您可能想要涵盖的内容: Ruby版系统依赖配置数据库创建数据库初始化如何运行测试套件服务(作业队列、缓存服务器、搜索引擎等) 部署说明… 如果您不...
CanCan是Ruby on Rails的授权库,它限制了给定用户被允许访问的资源。 所有权限都在一个位置( Ability类)中定义,并且不会在控制器,视图和数据库查询之间重复。 安装 在Rails 3中,将其添加到您的Gemfile并运行...
保镖受 Ryan Bates 出色的 Cancan 库启发的简单声明式身份验证 DSL 介绍认识保镖。 保镖是您忠实的仆人。 高大、魁梧、值得信赖——比他看起来更聪明,但他的工作非常有效。 你只需要简单地和他说话。 例如: from ...
GD32F4 CANCAN.rar
使用 Cancan/can 时,较大的 Ruby on Rails 应用程序中的Ability类可以快速增长。 这个 gem 允许您将模型特定的能力定义分离到它们自己的类中。 这是解决这个问题的第一种方法。 拉取请求使事情更容易使用非常感谢...
**cancan.js** 是一个基于 JavaScript 的授权库,它为前端应用提供了权限管理的能力。在Web应用程序中,权限控制是至关重要的,特别是在多用户、角色分层的系统中,cancan.js允许开发者定义用户可以做什么,不能做...
在提到的标题和描述中,我们聚焦于四个特定的Ruby Gems:Rails、Padrino、Cancan和Puppet。这些Gem分别在Web开发、轻量级框架、权限控制以及配置管理方面起着重要作用。 Rails是Ruby on Rails的简称,它是一个基于...
标题中的“具有cancan和oauth支持的设计生成器”揭示了这个项目是关于Web应用开发的,特别是关注权限管理和第三方身份验证。让我们深入探讨这两个关键组件。 Cancan是一个流行的Ruby on Rails授权库,由Ryan Bates...
Protector 和 CanCan 都差不多:访问控制。 然而,它们在不同方面发挥作用:Protector 在模型级别上工作,而 CanCan 则是关于控制器防御。 有了这款宝石,您无需再选择:让它们协同工作以获得最佳效果。 集成使 ...
使用Mysql和Mongo、Devise、CanCan、OmniAuth和TwitterBootst
##设置 CanCan 1:Ruby 2:设计 3:Rails 4本指南部分是根据 Tony Amoyal 的教程 [here.] ( ) 创建的######创建一个新应用程序: rails new appbundle install ######安装设计: gem 'devise'bundle install rails ...
CancanCan秘密笔记目标了解如何创建能力类。 了解如何在数据库中对权限进行建模。 防止用户访问控制器中的某些操作。 防止用户看到某些视图。概述我们将学习如何将集成到Rails应用程序中。 我们在此示例中的授权模型...
#pragmatik用于敏捷、可管理和可部署应用程序的构建块主要使用的宝石: -Devise-Cancan-Rolify-rails_admin基础教程: 1)安装Ruby on Rails环境2)在您的终端中,使用git clone ...使用cd YOURAPPNAME进入应用程序目录4...
Canard将CanCan和RoleModel结合在一起,使Rails中基于角色的授权变得容易。 您的能力定义将获得自己的文件夹和少许结构。 入门最简单的方法是使用Canard生成器。 Canard通过在模型的基本能力之上应用角色能力来逐步...
定义能力在模型中创建一个新的文件,名称为capability.rb,以下为示例: class Ability include SimpleCancan::Ability def initialize(account) account ||= Account.new case account.role when "admin" can :...
如果您正在寻找可以满足CanCan在Rails应用程序中提供的功能的东西,则应该看看 ,它增加了对Ecto / Plug的支持。 安装 如果要最新版本,将其添加到mix.exs中的mix.exs列表中? defp deps do [ { :canada , " ~> ...