Я пытаюсь настроить промежуточный экземпляр моего веб-сервера yesod, и мне было интересно, есть ли какой-нибудь простой способ защитить весь пароль сайта. В частности, я хочу иметь возможность запрашивать тех, кто перешел на мой сайт для получения учетных данных. После аутентификации он должен функционировать как типичный сайт. Но если они не могут аутентифицироваться, они ничего не должны видеть.yesod - сайт для защиты паролем
ответ
Чтобы расширить @ ответ MichaelSnoyman, вот как я реализовал WAI HTTP Auth промежуточное программное обеспечение:
С scaffolded сайта, я пошел в Application.hs
, который уже настройки записи логов промежуточного слоя следующим образом:
makeApplication :: AppConfig DefaultEnv Extra -> IO Application
makeApplication conf = do
foundation <- makeFoundation conf
-- Initialize the logging middleware
logWare <- mkRequestLogger def
{ outputFormat =
if development
then Detailed True
else Apache FromSocket
, destination = RequestLogger.Logger $ loggerSet $ appLogger foundation
}
-- Create the WAI application and apply middlewares
app <- toWaiAppPlain foundation
return $ logWare app
Чтобы добавить HTTP-аутентификацию, я ссылался на книгу Yesod chapter on WAI и HttpAuth docs, на которые ссылался Майкл. Документах дать это в качестве примера использования HttpAuth промежуточного ПО:
basicAuth (\u p -> return $ u == "michael" && p == "mypass") "My Realm"
Я был в состоянии только паста, что в правом нижнем углу после регистрации промежуточного слоя применяется:
import qualified Network.Wai.Middleware.HttpAuth as HttpAuth
makeApplication :: AppConfig DefaultEnv Extra -> IO Application
makeApplication conf = do
foundation <- makeFoundation conf
-- Initialize the logging middleware
logWare <- mkRequestLogger def
{ outputFormat =
if development
then Detailed True
else Apache FromSocket
, destination = RequestLogger.Logger $ loggerSet $ appLogger foundation
}
-- Create the WAI application and apply middlewares
app <- toWaiAppPlain foundation
return $ logWare $ HttpAuth.basicAuth (\u p -> return $ u == "michael" && p == "mypass") "My Realm" $ app
Вот как это выглядит в Safari:
Этот вид аутентификации не очень подходит для обычных пользователей, но отлично подходит для блокировки вниз сайт, предназначенный для внутреннего использования. Это также простой способ для компьютеров (серверов мониторинга, скриптов) аутентифицироваться на вашем сервере.
Вы можете использовать промежуточное программное обеспечение http auth.
http://hackage.haskell.org/package/wai-extra-3.0.1/docs/Network-Wai-Middleware-HttpAuth.html
К сожалению, для краткости, на мобильный.
Если вы уже открываете сайт с помощью Ngnix или Apache, они могут выполнять HTTP-авторизацию перед вызовом вашего сайта Yesod. (Я всегда использую один из интерфейсов wai типа fcgi под Apache, но это было какое-то время.) –
Правда, это тоже хороший вариант. –
Извините, я немного смущен относительно того, как использовать предоставленный код в рамках Yesod. Как я должен использовать/активировать этот код и как мне заставить его запрашивать аутентификацию (т. Е. Тест/тест пользователя/пропуск)? – user3505407
- 1. POST для защиты паролем URL?
- 2. js для защиты паролем каталогов
- 3. IIS7 - Сервер разработки защиты паролем
- 4. Установка защиты паролем
- 5. Как повышает уровень защиты паролем
- 6. PHP разные односторонние хэши для защиты паролем
- 7. с помощью javascript для защиты паролем pdf
- 8. Использовать GPG для защиты паролем .GZ-файл
- 9. Основная аутентификация для защиты паролем всего сайта
- 10. Приложение для защиты паролем при запуске
- 11. CHAR vs VARCHAR для защиты паролем
- 12. Доступ 2016 - База данных для защиты паролем
- 13. Пользовательский шаблон для формы защиты паролем
- 14. Разработка программы для защиты паролем usb
- 15. модификатор защиты паролем продукта (woocommerce)
- 16. Папка защиты паролем с .htaccess
- 17. Мгновенная простая защита ASP.NET MVC 5 для защиты паролем?
- 18. Открытие защищенного паролем файла на C# без удаления защиты паролем
- 19. Насколько защищен этот сценарий защиты паролем VBA?
- 20. .htaccess - исключить субдомен от защиты паролем домена
- 21. Laravel ограничить сайт паролем
- 22. Защищенный паролем сайт
- 23. Защищенный паролем сайт Joomla
- 24. Удаление защиты паролем PDF, зная пароль
- 25. Настройка защиты паролем в рабочей книге XSSF
- 26. Python Колба для защиты паролем веб-сайт с .htaccess похож на PHP
- 27. Понимание того, как работает функция защиты паролем
- 28. Еореп с именем пользователя и защиты паролем
- 29. с использованием htaccess защиты паролем на рельсах?
- 30. папка защиты паролем/backoffice в nginx
Вау, я знал, что должен быть легкий ответ. Вот! Огромное спасибо! – user3505407