是否有任何好的gems /插件/扩展用于rails根据用户的角色或包订阅选择性地为用户禁用功能?
例如,存在两个包(标准,高级)。标准软件包允许用户在应用程序内每月最多询问20个问题,高级软件包允许用户每月提出50个问题。因此,功能限制不仅包括包订阅,还包括已提问的数量。
注意:我已经在使用cancan进行简单的授权任务。
感谢您的帮助
答案 0 :(得分:1)
如果可能,我会尝试留在康康中..你可能已经使用设计进行身份验证了吗?如果是这样,我会尝试modift cancan。如果用户是超级用户(sysadmin)或premium_user或standard_user的基本情况,您可以拥有这三件事的角色。
如果用户可以注册多个东西,我会建议创建一个成员资格/产品注册类(user_id,package_id,membership_level_id)或者向用户添加范围/条件/标志,以查看谁可以从首先是什么,然后交给合格的用户。
答案 1 :(得分:0)
看看Rolify
。这是一个很好的宝石,可以很好地与CanCan
集成,用于资源范围和授权
关于如何将两者结合使用的文档教程:
https://github.com/EppO/rolify/wiki/Tutorial
答案 2 :(得分:0)
您可以使用cancan定义可继承的角色。这将允许您创建两个角色,标准和高级,并且溢价继承标准的所有能力并定义您自己的。
https://github.com/ryanb/cancan/wiki/Role-Based-Authorization