A有一堆带有Admin命名空间的控制器。我想限制访问这些,除非用户是管理员。有没有办法使用CanCan做到这一点,而无需致电未经授权!在每个控制器的每个方法中?CanCan的管理员授权
8
A
回答
8
将一个应用程序控制器添加到您的名称空间和一个过滤器之前。
class ApplicationController < ActionController::Base
end
class Admin::ApplicationController < ApplicationController
# these goes in your namespace admin folder
before_filter :check_authorized
def check_authorized
redirect_to root_path unless can? :admin, :all
end
end
class SomeadminController < Admin::ApplicationController
def some_action
# do_stuff
end
end
0
现在rails_admin有惨惨的全力支持,你可以在其官方网站上找到它,就有关该主题的维基页面:
1
的康康舞列出的Admin Namespaces wiki页面解决这个问题的几个解决方案。
- 正如@mark建议的,为管理员设置一个基本控制器,用于检查每个操作的授权。
- 如果您只需检查用户是否有
admin
标志,则可能完全不需要使用CanCan。
- 如果您只需检查用户是否有
- 对于彼此不同地处理管理员(从只有普通用户而非不同), 考虑单独
AdminAbility
类(这是一个有点偏离主题,但可以证明相关)。
相关问题
- 1. Spree管理员授权
- 2. CanCan Rails授权
- 3. 未授权显示的管理员
- 4. 如何授予无管理员用户权限来管理IIS?
- 5. 如何使用CanCan与Rails管理员来检查所有权
- 6. 用户在角色“管理员”,但[授权(角色=“管理员”)]将不验证
- 7. 授予与管理员选项角色的权限Vs授予与管理员选项的用户角色?
- 8. 使用CanCan的Rails授权问题
- 9. Rails 3.1中的授权:CanCan,CanTango,declarative_authorization?
- 10. Grails Spring-Security:管理员授予的权限
- 11. 如何将管理员权限授予我的VSPackage?
- 12. 授予管理员访问Android应用程序的权限
- 13. 使用声明的自定义授权授权管理器
- 14. Cancan不显示授权视图元素
- 15. CanCan嵌套资源控制器授权
- 16. 未经授权在春季启动管理员
- 17. Alfresco webscripts从非管理员用户运行gettting 401-未授权
- 18. 自定义Spree设计注册 - 管理员授权失败
- 19. 管理员策略对授权属性不起作用
- 20. Spring Security授权 - 管理员被拒绝访问
- 21. ASP.NET MVC 4授权给同一用户或其他管理员
- 22. 授予管理员权限以执行应用程序
- 23. 管理员权限错误
- 24. TFS/MSTest管理员权限
- 25. Office 365的管理活动API授权
- 26. CanCan + Devise:管理员用户无法获得权限,即使他应该
- 27. 管理OAuth2授权授权使用期限
- 28. 如何只允许管理员设置管理员权限?
- 29. WordPress管理员失去了一些管理员权限
- 30. Nexus管理器,npm 401未授权
他提到了rails_admin吗? – 2014-02-16 02:04:59