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

问题描述 投票:0回答:3

我是新手

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

有没有一种方法可以轻松地进行设计?

最好的方法是什么?

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

谢谢

ruby ruby-on-rails-4 authentication devise authorization
3个回答
2
投票

可以对User属性进行before过滤器检查。 对于更复杂的问题,您可以查看一些授权宝典

CanCanCan是Ryan B.的cancan的延续。

要么

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

我都用过,也没有反对。 希望有帮助!


1
投票

如果您只想将几个页面限制为管理员,那么最好的选择就是在控制器中执行before过滤器,以检查用户是否为admin。 另外,请确保在应用程序的其他区域中,您是否允许管理员和普通用户正确使用参数。

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


1
投票

不用任何宝石,您确实有两个简单的解决方案。

首先是向您的admin User模型添加一个布尔属性,然后将其设置为true或false,以授予某些用户访问应用程序中不同页面的权限。

第二种是为UserAdmin创建两个单独的Devise模型。

© www.soinside.com 2019 - 2024. All rights reserved.