Вы, вероятно, хотите использовать переменные окружения для этого :) Там есть драгоценный камень (как за все в основном): https://github.com/bkeepers/dotenv
В файле .env вы бы следующее:
AUTHENTICATION_USERNAME="foo"
AUTHENTICATION_PASSWORD="bar"
Где, как в контроллере вы пишете так:
http_basic_authenticate_with name: ENV['AUTHENTICATION_USERNAME'], password: ENV['AUTHENTICATION_PASSWORD'], except: [:new, :show, :edit, :create]
таким образом, ваш код будет полностью отделена от фактической информации. Убедитесь, что не добавить .env-файл в GIT-репозиторий, добавив в ваш gitignore:
.env
Так что это делает это будет загружать эти переменные, заданные в .env
в ваши существующие переменные среды. Таким образом, кому-то нужно фактически войти в ваш сервер и получить доступ к этому конкретному файлу, чтобы получить имя пользователя/пароль. И это должно быть более безопасным, чем наличие имени пользователя/пароля в тексте внутри вашего контроллера;)
Спасибо за очень подробный ответ. Извините мое невежество, но что такое .env-файл и как его получить/ifnd? Я установил gem, но не могу найти этот файл где-нибудь – user2026178
Привет. Вам нужно будет создать этот файл в своем домашнем каталоге. 'touch ~/.env' выполняет эту работу. Файл .env в конечном итоге будет добавлен к вашим другим переменным среды, которые уже есть в вашей системе. Таким образом приложение может их использовать. –