HTTP Basic Auth dla niektórych (nie wszystkich) kontrolerów
Korzystanie z szyn 3.2.
Mam pół tuzina kontrolerów i chcę chronićtrochę (ale nie wszyscy) z nimihttp_basic_authenticate_with
.
Nie chcę ręcznie dodawaćhttp_basic_authenticate_with
do każdego kontrolera (mógłbym dodać kolejny kontroler w przyszłości i zapomnieć go chronić!). Wydaje się, że odpowiedzią jest włożenie goapplication_controller.rb
z:except
arg, który wyświetlał listę kontrolerów, które powinnynie być zabezpieczonym. Problem polega na tym, że klauzula: except wymaga nazw metod, a nie nazw zewnętrznych modułów kontrolera, np .:
http_basic_authenticate_with :name => 'xxx', :password => 'yyy', :except => :foo, :bar
Więc pomyślałem: „Czekaj, ponieważ mam już chronione kontrolery zgrupowaneroutes.rb
, połóżmy to tam. ”Próbowałem tego na moich trasach:
scope "/billing" do
http_basic_authenticate_with :name ...
resources :foo, :bar ...
end
Ale teraz mam
undefined method `http_basic_authenticate_with'
Jak najlepiej podejść do tego?