0

对于在 rails_admin 中的用户上使用多个“角色”,CanCan 似乎是一个不错的选择。因此,我在用户模型中添加了一个布尔属性“admin”,并告诉 CanCan 仅当它存在时才允许访问 rails_admin。

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

4

2 回答 2

0

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

于 2012-11-01T15:34:41.783 回答
0

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

于 2012-11-02T08:10:29.893 回答