我花了一些时间试图找出一个授权控制器的最佳方法,该控制器来自CanCan的宝石。我特意使用Comfortable Mexican Sofa。我已经使用Devise和CanCan进行了全部设置,但在Comfy中授权特定控制器时遇到了问题。我能找到的与我所追求的最接近的是Fortress CMS gem。
我尝试使用初始化程序和引擎来扩展before_action
并编写一个简单的auth方法。我唯一可以找到CanCan和Comfy的是here,但它只针对网站登录而不是特定的控制器,如页面,博客等。
基本上,它来了 - 我如何能够扩展gem控制器,以便我可以专门为该控制器验证用户?
答案 0 :(得分: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