Я думаю, вы можете достичь того, чего хотите, используя встроенные в Rails 3 функции маршрутизации.Грегг Поллак представляет Rails 3 Action Dispatch и упоминает (из скринкаста) опцию :constraints => {:ip => /192\.168\.1\.\d{1,3}}/}
, где вы можете указать регулярное выражение, соответствующее диапазону IP-адресов, который вы хотите разрешить.
Еще немного расширяется, взглянув на Расширенные ограничения и их пример, демонстрирующий извлечение списка занесенных в черный список IP-адресов из базы данных и проверку, находится ли request.remote_ip
в списке занесенных в черный список.IP-адрес.Похоже, вы хотите получить список принятых (он же белый список IP-адресов), но код будет почти идентичен примеру в руководствах по Rails.
Поэтому я бы построил ваше представление администратора, чтобы иметь возможность вводить утвержденные IP-адреса,тогда приложение маршрутизации может получить этот список для входящих запросов.