Я пишу веб-приложение, и я хотел бы использовать repoze.what
& repoze.who
для обработки моей авторизации и аутентификации.Проблема в том, что repoze.what
кажется жестко запрограммированным для принятия определенной модели разрешений, а именно:
- Посетители сайта являются либо зарегистрированными пользователями, либо анонимными.
- Учетные записи пользователей принадлежат к 0 или более группам.
- Группы имеют 0 или более разрешений, связанных с ними.
Так, например, ваши разрешения могут быть «can-post-»article 'и' can-post-comment ', и вашими группами могут быть' author ',' visitor ', где' author 'может публиковать статьи и оставлять комментарии, в то время как посетители могут только оставлять комментарии.
ЭтоМодель, вероятно, работает для большинства сайтов.Тем не менее, мой сайт позволяет командам сотрудничать друг с другом на разных уровнях.Итак, мне нужна модель безопасности:
- Посетители являются либо зарегистрированными пользователями, либо анонимными.
- Пользователи являются членами 0 или более групп.
- Для каждой группы, членом которой является пользователь, это членство будет иметь разные разрешения.Например, пользователь может быть «автором» или группой A, но «комментатором» в группе B.
Количество групп будет меняться со временем, и членство в этих группах также будетменять.Я не вижу простого способа интегрировать эту модель разрешений в repoze.what
.Я что-то упускаю из виду?