В настоящее время (Redmine 4.1) такой функции нет, однако это программное обеспечение с открытым исходным кодом, и вы можете либо запросить такую функцию на их трекере , либо разработать собственный код. Поэтому, если вам быстро нужно решение, есть несколько вариантов:
Метод 1: Вы можете решить эту проблему, подключив удаленных пользователей через VPN, и у них будет IP-адрес с заданным набором IP-адресов. .
Метод 2: Разработайте специальный плагин аутентификации, который даст вам возможность выбирать, с какого IP-адреса может войти пользователь.
Метод 3: Изменить Основные файлы и база данных Redmine или создать настраиваемое поле, в котором хранится утвержденный пользователем IP-адрес или диапазон, изменив файл /mode/user.rb
Таким образом, вы должны добавить что-то вроде:
return nil unless IPAddr.new(user.permitted_ip).include? request.env['HTTP_X_REAL_IP'] || request.env['REMOTE_ADDR']
после
# Returns the user that matches provided login and password, or nil
def self.try_to_login(login, password, active_only=true)
login = login.to_s.strip
password = password.to_s
# Make sure no one can sign in with an empty login or password
return nil if login.empty? || password.empty?
user = find_by_login(login)
if user
# user is already in local database
return nil unless user.check_password?(password)
return nil if !user.active? && active_only
(вышеуказанный код должен работать, если вы не используете внешний источник аутентификации)