对于在rails_admin中的用户使用多个“角色”,CanCan似乎是一个很好的选择。所以我向User-Model添加了一个布尔属性“admin”,并告诉CanCan只有在存在时才允许访问rails_admin。
但这不是一个安全问题吗?我如何确定,没有人能够更改属性?
答案 0 :(得分:0)
我将通过说明我对铁轨的了解是有限的。但是,向对象添加布尔属性,这不是最终的(或者无法更改的ruby等效项)。此外,您需要在您的应用程序中添加一些防御性编码(例如通过合同设计)。具有可变属性的继承风险始终是一个问题。减轻这种情况的一种可能方法是使用数据库或使用由受信任来源管理的证书(这样用户就无法轻易伪造证书并欺骗您的系统)
答案 1 :(得分:0)
不要将admin
属性放在可访问的方法中,因此没有人可以更改其值。