2014-11-03 2 views
2

Пожалуйста, предложите мне лучший способ. Я разрабатываю приложение Django, у вас будет 3 типа пользователей: администратор, реселлер и пользователь. У них должна быть иерархия. Администратор может видеть все. Дилер может видеть все, что делали его пользователи. Пользователь видит только то, что он сделал.Иерархические разрешения в Django

Как я могу сделать эти разрешения с помощью иерархии?

+0

посмотреть на https://docs.djangoproject.com/ru/dev/topics/auth/default/ – grigno

+1

@HasanRamezani Зачем использовать внешний пакет, когда вы можете легко справиться с ним с помощью родного Django? И с 14 звездами на репо, и последнее обновление с 4 лет, плохая идея ... –

+0

@DavidW. Внешние пакеты делают много тяжелой работы для вас. Я соглашусь, что django-hierarchical-auth не кажется достаточно зрелым или достаточно стабильным. –

ответ

1

Вы можете справиться с 2 Дифференц способами:

  • Первое решение (кажется, лучше в вашем случае): с помощью Django permissions

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

  • Второе решение: создать 3 разных профиля, которые наследуются от базового класса пользователя. С мышлением будет сложнее.
0

Я работаю над чем-то похожим. В Django есть несколько проблем с авторизацией на линии. Есть два проекта, которые могут достичь всего, о чем вы просите: django-permission и django-guardian. Мне нужны были более мелкие разрешения, и мне пришлось сворачивать свои собственные.

Смежные вопросы