新手问题 用户权限方面改怎么选择

liaozhong · 2016年11月24日 · 最后由 Rei 回复于 2016年11月24日 · 1562 次阅读

之前的一个项目但是权限方面一直没有考虑,最近想给优化一下,所以考虑到 cancan 和 cancancan 了 但是 直观的感觉是如果要创建新的角色,或者修改某种角色的权限列表,都得在 ability.rb 中修改代码, 想问问有经验的人这两个 gem 该怎么选?优势劣势个是什么

选 3can,新的。

选择 cancancan 吧,用起来还是比较方便,但是要用好的话建议认真读下文档

有一个轻量级的 gem 包叫做 six,很简洁,我们用的就是这个,但是用起来感觉不是很灵活。。

推荐 pundit。cancancan 导致 ability 文件过于庞大,而且 DSL 会导致一些权限代码不是很清晰。pundit 基于一个很简单的概念 -- 把每段权限检查的逻辑抽到 Ruby Object 中去。用它之前先看看 作者博客 ,会很有帮助。

before_action

需要 登录 后方可回复, 如果你还没有账号请 注册新账号