Базовая/дайджест-аутентификация HTTP в приложении Pyramid

У меня есть очень простое приложение Pyramid (мое первое), и я хотел бы «заблокировать» пару вызовов просмотра с базовой/дайджест-аутентификацией HTTP (всплывающее окно общего входа). Этим приложением будет управлять только один пользователь. Так что я хотел бы очень простой безопасности.

Я прочитал теорию о политике аутентификации Pyramid, AuthKit, repoze.who и т. д. Но все же может кто-нибудь дать мне простой пример/идею очень простой безопасности в приложении Pyramidd, просто для блокировки несколько vew callables из мира?

Примечание. Если кто-то выполняет обычную аутентификацию для wsgi-приложения через Nginx, а вы использовали Cookbook conf для запуска вашего приложения с восходящим потоком, вы можете столкнуться с проблемой, когда после успешной аутентификации Nginx приведет вас к 404. Все, что вам нужно сделать указывает ваше ограниченное местоположение на тот же восходящий поток:

location /restricted {
        proxy_pass              http://myapp-site;
        auth_basic              "Restricted";
        auth_basic_user_file    htpasswd;
    }

person yentsun    schedule 15.10.2011    source источник


Ответы (1)


Если у вас есть только один раздел «/admin» с одним администратором, вы можете настроить nginx как обратный прокси-сервер с аутентификация.

Я использую это, чтобы «защитить» общедоступные разделы демонстрационных сайтов, прежде чем открыть их для всего мира.

Преимущество заключается в том, что вы можете использовать точно такой же метод для обслуживания приложений Django или Pylons, и он очень прост, но надежен.

person ascobol    schedule 16.10.2011
comment
Спасибо! Я делал такие вещи с .htaccess, когда был php-разработчиком. А теперь с WSGI я просто забыл, что я все еще могу делать это на сервере (и да, я запускаю свое приложение Pyramid через Nginx). Тем не менее, должен признать, я пропустил хороший рецепт из Поваренная книга пирамид. Я его изучил, понял и был готов к реализации и тут увидел ваш ответ :) - person yentsun; 16.10.2011