1. 首页
  2. 考试认证
  3. 其它
  4. allowyRuby中极简授权实现

allowyRuby中极简授权实现

上传者: 2024-12-21 04:38:01上传 ZIP文件 14.29KB 热度 28次

Allowy 是一个用于 Ruby(和/或 Rails)的简单授权库。它并不会强制你使用严格的 DSL,保持了简洁但功能强大。为什么要使用它?我曾经长时间使用 Ryan Bates 的非常出色的 gem,它做得很好。但是,Allowy 基本上是对 CanAbility 类的重构。随后我将它提取为一个 gem。

当能力定义超过 20 行时,Can 对我来说并不理想:追踪为什么允许(或不允许)某个操作变得非常困难。DSL 强制你使用类似 ActiveRecord 的范围或块,这使得维护变得更加复杂。能力类包含了所有定义,导致测试和维护变得困难,除非经过仔细的重构。

隐式权限 - Can 尝试使用类似 :manage 的别名进行简化(确实有效),但这也使得理解变得更加困难。隐式权限意味着你可以使用任何符号来表示权限,这可能会增加不必要的复杂性。

下载地址
用户评论