让用户和管理员在rails设计应用程序(仅允许访问管理员的某些视图)

时间:2015-12-13 01:19:04

标签: ruby ruby-on-rails-4 authentication devise authorization

我是rails的新手

我让用户注册并登录rails应用。但是,我想将几​​个视图限制为仅指定为管理员的几个用户。

有没有办法轻松设计?

最好的方法是什么?

我应该只将一个is_admin行添加到Users表并创建一个before过滤器,还是有更好的方法?

感谢

3 个答案:

答案 0 :(得分:2)

检查User属性的before filter将起作用。对于更复杂的问题,您可以查看一些授权宝石

CanCanCan这是一个延续或Ryan B.的康康舞。

The Role,采用略有不同的方法。

我使用过这两种情况并且没有反对意见。 希望有所帮助!

答案 1 :(得分:1)

如果您只想将几页限制为管理员,最好的办法就是在控制器中执行之前的过滤,以检查用户是否为管理员。还要确保在您的应用程序的其他区域中,您允许管理员与常规用户正确使用params。

如果你需要更复杂的东西,请看宝石专家。

答案 2 :(得分:1)

不使用任何宝石,你真的有两个简单的解决方案。

第一种是为User admin模型添加布尔属性,然后将其设置为true或false,以授予某些用户访问应用中不同网页的权限。

第二种是为DeviseUser创建两个单独的Admin模型。