authenticate_or_request_with_http_basic do |user, password|
user == USER && password == PASSWORD
end
Приведенный выше код запрашивает имя пользователя и пароль обычным способом (с использованием basic_http_auth)
Моя идея состояла в том, чтобы создать страницу входа пользователя, как проверить правильность имени пользователя и пароля, а затем подтвердить его подлинность.
Теперь authenticate him
означает создание заголовка, который был бы отправлен браузером, если бы он действительно был аутентифицирован через basic_http_auth. т.е. для установки простых http аутентификационных учетных данных
Требование таково, потому что есть другое не ruby приложение, которое будет работать внутри того же домена и проверять, прошел ли пользователь аутентификацию через simple_http_auth.
Общая картина будет выглядеть примерно так:
Приложение Rails: аутентифицирует пользователя.
Второе приложение, не являющееся ruby, просто проверяет, прошел ли пользователь аутентификацию, поскольку оно находится под тем же доминированием, оно может просто получить доступ к паролю user_name, отправленному через http_basic auth.
Другая идея состоит в том, чтобы запустить службу rails api, которая определит, вошел ли пользователь в систему или нет, и вызвать ее через второе приложение. Но я не предпочитаю делать это.