Пирамида имеет гораздо более гибкую систему аутентификации. И да, если вы хотите что-то простое, например, концепцию пользователя / группы / полномочий Django, то гибкость может быть страшной.
Pyramid не имеет объекта "Пользователь", так как не делает никаких предположений о том, как вы храните свои данные или каким ORM вы пользуетесь, поэтому для вас нет чего-то вроде contrib.auth. Вам нужно будет самостоятельно хешировать / солить пароли, используя библиотеку, такую как cryptacular или passlib, обе из которых есть в PYPI.
Что касается желаний пользователя / группы / разрешений в системе Pyramid, то это можно сделать довольно просто, если определить RootFactory с __acl__
, который сопоставляет группы с разрешениями. Разрешения назначаются представлениям, поэтому обычно они довольно статичны. Если вы хотите, чтобы группы (которые Пирамида называет «принципалами») были динамичными, это также достижимо.
Я бы посоветовал взглянуть на учебник Pyramid wiki2 , а также демонстрацию перестрелки .
Существует также пара сторонних пакетов для помощи с авторизацией в Pyramid, если вы планируете использовать SQLAlchemy. apex - это более полное решение для стека, а ziggurat_foundations - это уровень более низкого уровня, чем SQLAlchemy, чтобы помочь вам настроить пользователей и группы для вашего приложения.
Ваш вопрос довольно высокого уровня, и авторизация - это "трудная проблема", поэтому я остановлюсь здесь и не буду повторять использование уже существующих учебных пособий и ресурсов, начиная с учебных пособий по пирамиде и заканчивая несколькими сторонними примерами. Если у вас есть какие-либо конкретные вопросы, пожалуйста, не стесняйтесь задавать их по другому вопросу.