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. cancan授權
- 4. Ruby on Rails中的管理員授權
- 5. 未授權顯示的管理員
- 6. cancan授權規則
- 7. Cancan授權論壇
- 8. Node.js/Angular.js管理員授權路由
- 9. CanCan的用戶授權:NoMethodError
- 10. 如何授予無管理員用戶權限來管理IIS?
- 11. 通過CanCan爲Sinatra授權
- 12. Rails,Devise,CanCan或Declarative授權
- 13. 如何使用CanCan與Rails管理員來檢查所有權
- 14. 用戶在角色「管理員」,但[授權(角色=「管理員」)]將不驗證
- 15. Rails 3 CanCan授權範圍所有權
- 16. 授予與管理員選項角色的權限Vs授予與管理員選項的用戶角色?
- 17. 管理員權限
- 18. Cancan +設計,讓管理員管理用戶的最佳方式
- 19. CanCan跳過某些操作的授權
- 20. 使用CanCan的Rails授權問題
- 21. Rails 3.1中的授權:CanCan,CanTango,declarative_authorization?
- 22. Cancan的用戶配置文件授權
- 23. 將管理員的權限授予MSSQL上的域組
- 24. 獲取用戶是管理員的特定頁面的授權
- 25. Google的管理員SDK目錄API - 403未授權
- 26. 未授權的命令:addShard數據庫管理員
- 27. 使用Ruby on Rails創建管理員授權的博客?
- 28. 授予組的全局權限類似於聲納管理員
- 29. 授予特殊形式的管理員訪問權限
- 30. 授予管理員訪問Android應用程序的權限
他提到了rails_admin嗎? – 2014-02-16 02:04:59