【发布时间】:2011-09-16 02:33:06
【问题描述】:
我想在 application_controller 中使用两个过滤器,所以如果第一个过滤器失败:
before_filter CASClient::Frameworks::Rails::Filter
试试第二个:
before_filter :hmac_filter
这个想法是当有人试图通过 Web 客户端进入 REST 服务时, 请愿书必须使用 rubycas 客户端过滤器进行过滤,如果有人尝试使用例如使用 CURL 的客户端输入,则第一个过滤器应该会失败,但必须在给定足够参数的情况下应用第二个过滤器。 我可以使用一系列 curl 请求并激活第一个过滤器以进行身份验证并获得会话 cookie,但不是这个想法,我必须使用 hmac_filter。我也不能修改 hmac_filter。
任何想法或建议将不胜感激。谢谢
编辑
也许这不是最好的解决方案,但最后这是我的实现:
before_filter :choose_auth
def choose_auth
params[:hmac_auth] ? hmac_filter : CASClient::Frameworks::Rails::Filter.filter self
end
【问题讨论】:
标签: ruby-on-rails before-filter rubycas