使用 CanCan 进行管理员授权
A 有一堆具有 Admin 命名空间的控制器。我想限制对这些的访问,除非用户是管理员。有没有办法使用 CanCan 来做到这一点,而不必调用未经授权的!在每个控制器的每个方法中?
A have a bunch of controllers with the Admin namespace. I want to restrict access to these unless the user is an admin. Is there a way to do this using CanCan without having to call unauthorized! in every method of every controller?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
将应用程序控制器添加到您的命名空间,并为其添加一个 before 过滤器。
Add an application controller to your namespace and a before filter to it.
CanCan 的 Admin Namespaces wiki 页面列出了此问题的几种解决方案。
管理员
,那么您可能根本不需要使用 CanCan 来实现此目的旗帜。
考虑一个单独的 AdminAbility 类(这有点偏离主题,但可能证明是相关的)。
The Admin Namespaces wiki page for CanCan lists out several solutions to this problem.
admin
flag.
consider a separate
AdminAbility
class (this is a little off-topic, but could prove relevant).现在rails_admin已经完全支持Cancan,你可以在它的官方网站上找到它,有一个关于这个主题的wiki页面:
Rails 管理员对 CanCan 的授权:
now rails_admin has full support with Cancan, you can find it in its official website, there is a wiki page for this topic:
Rails Admin's authorization with CanCan: