İşte size birkaç fikir var:
# app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
# ...
http_basic_authenticate_with :name => "frodo", :password => "thering", :if => :admin_controller?
def admin_controller?
self.class < ActiveAdmin::BaseController
end
Veya yalnızca belirli kaynakları korumak istiyorsanız, kontrolör bloğu kullanabilirsiniz
# config/initializers/active_admin.rb
# somewhere outside the setup block
class ActiveAdmin::BaseController
http_basic_authenticate_with :name => "frodo", :password => "thering"
end
monkeypatching sürümü:
# app/admin/users.rb
ActiveAdmin.register Users do
controller do
http_basic_authenticate_with :name => "frodo", :password => "thering"
end
# ...
end
Kontrol cihazını bu şekilde config/initializers/active_admin.rb
içinde genişletebileceğimi umuyordum. Kurulum blok, ama bu benim için işe yaramadı: bir ActiveAdmin versiyonu şey olabilir olarak
# app/admin/users.rb
ActiveAdmin.setup do |config|
config.controller do
http_basic_authenticate_with :name => "frodo", :password => "thering"
end
# ...
end
Sen, olsa deneyebilirsiniz (Ben bir yere belgelenmiş gördüğüm bu yemin edebilirim ...)
İyi şanslar, umarım bu yardımcı olur. activeadmin config before_filter bir blok alır:
GÜNCELLEME: Birkaç tane daha seçenekleri: bundan önce
Fark etmemiştim.
# config/initializers/active_admin.rb
ActiveAdmin.setup do |config|
# ...
config.before_filter do
authenticate_or_request_with_http_basic("Whatever") do |name, password|
name == "frodo" && password == "thering"
end
end
end
Ve ... sadece bir fikir daha. Eğer application_controller şey eklemeden keskin değil gibi geliyor, ama bu sürüm yukarıdaki birinci gibi koşullu değil: sadece ActiveAdmin yönetici alanını korumak istiyorsanız
# app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
def authenticate_admin
authenticate_or_request_with_http_basic("Whatever") do |name, password|
name == "frodo" && password == "thering"
end
end
end
# config/initializers/active_admin.rb
ActiveAdmin.setup do |config|
# ...
config.authentication_method = :authenticate_admin
end
hey, mevcut tüm seçenekleri listelemek için teşekkürler! İlki bildiğim bir şeydi, ama her ne pahasına olursa olsun uygulamak istemiyordu (koşullu filtreleme berbattı, tüm açık eylemlerle de değerlendirildi). İkincisi, iyi bir adaydır. Üçüncü olan tam olarak benim kullanım durumum değil.Dördüncü adım ise, aktif yönetim ekibinin, tüm ray uygulamalarının bir kimlik doğrulama sistemine ihtiyaç duymadığı/ihtiyaç duymadığı her zaman uygulanacak (bu sözdizimiyle olmasa da). Sanırım ikinci önerinizle gideceğim ve bir değerlendirmem olur olmaz size rapor edeceğim. Yine Thx! – ChuckE
@ChuckE: İkinci seçeneğin sizin için iyi çalıştığı anlaşılıyor. Sadece authentication_method ve before_filter 'e dayalı birkaç tane daha ekledim. Yönetici kullanıcıları için kimlik doğrulaması yapmak istediğiniz başka bir yer varsa sonuncusu iyi olabilir ... Hepsine tekrar baktıktan sonra, ilk düzenlemelerimi ("config.before_filter" kullanarak) kullanmayı düşünüyorum. en iyi. İyi şanslar! –
Ayrıca fikriniz de var, varsayılan aktif yönetici başlatıcısı içinde kalan bir çözüm kazanan gibi görünüyor! – ChuckE