Используйте более одного before_filter

Я хочу использовать два фильтра в application_controller, поэтому, если первый фильтр потерпит неудачу:

before_filter CASClient::Frameworks::Rails::Filter

попробуйте со вторым:

before_filter :hmac_filter

Идея заключается в том, что когда кто-то пытается войти в службу 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

1 ответ

Решение

Перед тем, как запускать фильтры, прежде чем обрабатывать какие-либо веб-запросы, я не думаю, что это поможет вашей ситуации. Вы должны справиться с этим типом вещей на уровне действий.

Другие вопросы по тегам