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