Подумайте об использовании repoze.who и repoze.what . Они обеспечивают надежный шаблон для аутентификации и могут быть легко настроены, потому что его можно настраивать в важных местах.
Если вы не понимаете, почему «что» и «кто» являются двумя частями схемы аутентификации, все, что действительно нужно знать, это «кто» аутентифицирует (возможно, с помощью имени пользователя и пароля) и обеспечивает идентификацию вашего users и «what» для проверки авторизации, которую пользователь имеет в запросе. Если кто-то хочет, они могут использовать «что» или «кто» один. Но, ИМХО, это работает лучше всего, если вы используете только «кто» или «кто» и «что» вместе
В основном это работает так; При каждом запросе, требующем аутентификации, «кто» будет обрабатываться (применяя его плагины) при вызове контроллера, давая вам личность для работы. То есть .. Если требуется «что» или вызывается abort (401), то может отображаться страница входа (вызов), если пользователю нужны учетные данные, в противном случае отображается 403 Запрещено. Хорошо работает
Вот учебник о том, как заставить "кого" работать Аутентификация и авторизация с помощью repoze.who
. Он описывает очень простой способ начать работу.