10

我花了一段時間試圖弄清楚授權一個來自CanCan的gem控制器的最佳方式。我特別使用Comfortable Mexican Sofa。我已經使用Devise和CanCan設置了所有設置,但無法從Comfy內授權特定的控制器。我能找到的最接近的東西是Fortress CMS gem如何使用CanCan與寶石控制器?

我試過使用初始化器和引擎來擴展before_action並編寫一個簡單的認證方法。我唯一能找到的CanCan和Comfy是here,但它只處理網站登錄而不是特定的控制器,如網頁,博客等。

基本上,它涉及到 - 我如何能夠擴展一個寶石控制器我可以專門爲該控制器驗證用戶身份?

回答

5

initializer你可以定製自己的授權邏輯:

# Uncomment this module and `config.public_authorization` above to use custom public authorization 
module ComfyPublicAuthorization 
    def authorize 
    # TODO: your own authorization logic. Check params variable here 
    true 
    end 
end