首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rolify和CanCan有什么意义?

Rolify和CanCan有什么意义?
EN

Stack Overflow用户
提问于 2014-01-27 20:54:50
回答 2查看 2.1K关注 0票数 6

我正在做一个RoR项目,我对这个为我推荐的新创业板感到有点困惑,Rolify。据我所知,rolify所做的事情与CanCan差不多,只是它会将功能(rolify的角色)持久化到数据库。但是,在Rolify wiki中,我看到了关于如何在CanCan中使用Rolify的说明。

基本上,我想知道Rolify和CanCan之间有什么区别?我什么时候该用一种而不是另一种?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-27 21:22:24

CanCan用于从应用程序的角度管理授权,它允许您将X控制器/操作限制在X用户身上。

当您想深入到更深层次的细粒度控制时,您可以使用Rolify。Rolify,不仅仅是简单的

代码语言:javascript
复制
if user.role == :super_admin
  # do something pretty cool stuff
elsif user.role == :admin
  # do some more awesome stuff

允许您向资源中添加角色。假设您有一个论坛应用程序,您希望用户能够在游戏板上扮演版主的角色。你会用rolify

代码语言:javascript
复制
user = User.find(2)
user.add_role :moderator, Forum.where(type: 'Gaming')

此外,让我们通过使用类本身而不是实例来对类执行此操作(如果您希望用户成为所有版面的版主)

代码语言:javascript
复制
user = User.find(2)
user.add_role :moderator, Forum

之后,您可以轻松地查询资源/类,以确定谁访问了什么。除了帮助您管理角色范围之外。

票数 7
EN

Stack Overflow用户

发布于 2014-01-27 21:20:25

CanCan是一个授权库,它允许您设置关于谁能够或不能执行某些操作的规则。

Rolify是一个角色库,它帮助您创建角色,然后可以在Cancan授权规则中使用这些角色。

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

https://stackoverflow.com/questions/21391473

复制
相关文章

相似问题

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