我正在研究一个RoR项目,我对这个为我的目的推荐的新宝石有点困惑,Rolify.据我了解,rolify与CanCan几乎完全相同,只不过它将能力(rolify的角色)持久化到数据库.但是,在整个Rolify维基上,我看到了使用Rolify和CanCan的说明.
解决方法
CanCan用于从应用程序角度管理授权,可以让您将X控制器/操作限制为X用户.
当你想深入细致的控制时,你可以使用Rolify. Rolify,超越简单
if user.role == :super_admin # do something pretty cool stuff elsif user.role == :admin # do some more awesome stuff
允许您向资源添加角色.假设您有一个论坛应用程序,您希望用户能够在游戏板上拥有主持人角色.你会使用rolify来
user = User.find(2) user.add_role :moderator,Forum.where(type: 'Gaming')
Rolify还允许您通过使用类本身而不是实例(如果您希望用户成为所有板的主持人)来对类执行此操作
user = User.find(2) user.add_role :moderator,Forum
之后,它可以让您轻松查询资源/类,以找出谁可以访问什么.除了帮助您管理角色范围之外.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。