Это вопрос из двух частей. Мне нужно ограничить сайт рельсов, который я создаю на сервере разработки, только несколькими IP-адресами, чтобы публика не могла получить к нему доступ. (Базовая аутентификация HTTP не «полностью» работает, так как аутентификация нарушает загрузчик Flash в проекте.)
Исходя из того, что я погуглил, это то, что я придумал в моем файле маршрутов ...
class WhitelistConstraint
def initialize
@ips = '127.0.0.1'
end
def matches?(request)
@ips.include?(request.remote_ip)
end
end
MyProject::Application.routes.draw do
constraints WhitelistConstraint.new do
# all my routing stuff here
end
end
Работает довольно хорошо. Однако мне нужно изменить это для работы с несколькими IP-адресами. Я пытался использовать массив на @ips, а также проходить через каждый цикл, но ни один из них не работал.
Кроме того, вторая часть моего вопроса ... Мне может потребоваться проверка только по сегменту IP, например «127.0.0». Как бы я это сделал?