【问题标题】:Use more than one before_filter使用多个 before_filter
【发布时间】:2011-09-16 02:33:06
【问题描述】:

我想在 application_controller 中使用两个过滤器,所以如果第一个过滤器失败:

before_filter CASClient::Frameworks::Rails::Filter

试试第二个:

before_filter :hmac_filter

这个想法是当有人试图通过 Web 客户端进入 REST 服务时, 请愿书必须使用 ruby​​cas 客户端过滤器进行过滤,如果有人尝试使用例如使用 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


    【解决方案1】:

    在过滤器在处理任何网络请求之前运行之前,所以我认为这对您的情况没有帮助。您需要在操作级别处理此类事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-31
      相关资源
      最近更新 更多