#python #authentication #pyramid
#python #аутентификация #пирамида
Вопрос:
У меня есть очень простое приложение Pyramid (мое первое), и я хотел бы «заблокировать» пару вызываемых объектов просмотра с помощью базовой / дайджестной HTTP-аутентификации (всплывающее окно общего входа). Это приложение будет администрироваться только одним пользователем. Поэтому мне нужна очень простая безопасность.
Я прочитал теорию о политике аутентификации Pyramid, AuthKit, repoze.кто и т. Д. Но все же может кто-нибудь дать мне простой пример / идею очень простой безопасности в приложении Pyramidd, просто чтобы заблокировать несколько вызываемых vew из мира?
Примечание: если кто-то другой выполняет базовую аутентификацию для wsgi-приложения через Nginx, а вы использовали Cookbook conf для запуска своего приложения с восходящим потоком, вы можете столкнуться с проблемой, когда после успешной аутентификации Nginx приведет вас к 404. Все, что вам нужно сделать, это указать ваше ограниченное местоположение на тот же восходящий поток:
location /restricted {
proxy_pass http://myapp-site;
auth_basic "Restricted";
auth_basic_user_file htpasswd;
}
Ответ №1:
Если у вас есть только один раздел «/ admin» с одним администратором, вы можете настроить nginx как обратный прокси-сервер с аутентификацией.
Я использую это для «защиты» общедоступных разделов демонстрационных сайтов перед открытием для всего мира.
Преимущество заключается в том, что вы можете использовать точно такой же метод для обслуживания приложений Django или Pylons, и он очень прост, но надежен.
Комментарии:
1. Спасибо! Раньше я делал такие вещи с .htaccess, когда был разработчиком php. И теперь с WSGI я просто забыл, что я все еще могу делать это на сервере (и да, я запускаю свое приложение Pyramid через Nginx). Тем не менее, я должен признать, я пропустил хороший рецепт из Pyramid Cookbook . Я изучил это, понял и был готов к реализации, а затем увидел ваш ответ 🙂