Cancan和Boolean用户授权 - 安全风险



用于在Rails_admin Cancan中使用多个"角色"似乎是一个不错的选择。因此,我在用户模型中添加了一个布尔属性" admin",并告诉cancan只有在存在的情况下才允许访问rails_admin。

但这不是安全问题吗?我怎么能确定,没有人能够更改属性?

我会说我对铁轨的了解是有限的。但是,将布尔属性添加到对象中,这不是最终的(或者等效于无法更改的任何红宝石)。此外,您需要在应用程序中添加一些防御性编码(例如,通过合同设计)。拥有可变财产的继承风险始终是一个问题。缓解这种情况的一种潜在方法是使用数据库或使用由受信任源管理的证书(此方式,用户无法轻松伪造证书并欺骗您的系统)

不要将admin属性放入可访问的方法中,因此没有人可以更改其值。

最新更新