Добавление разрешений пользователям django, у которых есть дополнительные модели - PullRequest
1 голос
/ 20 января 2011

Я буду создавать интранет-сайт с несколькими ролями (клиент-сотрудник, клиент-администратор, сотрудник). Каждая роль будет иметь модель, которая присоединяется (через поле «один к одному» или ForeignKey) к пользователю с настраиваемыми полями. Я хочу, чтобы у каждой роли был свой набор разрешений (например, для группы).

Как я могу сохранить эти разрешения, установленные внутри моего приложения. Кажется, что группы определяются как часть приложения contrib.admin, а не как код. Я не смог найти в документации ничего о том, как определить группу.

Каков наилучший способ обработки разрешений на уровне модели. Может быть, я мог бы проверить модель, если посмотрю, есть ли у пользователя подходящая модель для подражания.

1 Ответ

1 голос
/ 20 января 2011

Списки контроля доступа хитры (некоторые говорят мертвыми ), но Django поставляется с хорошей реализацией по умолчанию в contrib.auth , снабженной :

  • Пользователи
  • Разрешения: Двоичные (да / нет) флаги, обозначающие, может ли пользователь выполнить определенную задачу.
  • Группы: универсальный способ применения меток и разрешений для нескольких пользователей.

Более подробное введение можно найти здесь:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...