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