Приложение Django с несколькими сайтами - как ограничить доступ для персонала - PullRequest
1 голос
/ 18 июля 2011

Недавно я создал приложение django с несколькими файлами настроек, каждый файл настроек имеет свой собственный SITE_ID, и каждый SITE_ID связан с site_id из таблицы django_site. Теперь я хочу создать персонал только для определенных сайтов и других администраторов для всех сайтов, как бы я сделал что-то подобное?

наилучшие пожелания,

Ответы [ 2 ]

1 голос
/ 22 февраля 2013

Мо - не уверен, что вы все еще ищете ответ на этот вопрос, но этот кросс-пост может соответствовать тому, что вы ищете.

0 голосов
/ 18 июля 2011

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

class SiteUsers(models.Model):
    site = models.ForeignKey(Site)
    users = models.ForeignKey(User)

тогда вы можете использовать своего рода декоратор user_passes_test для принудительного контроля доступа. Я не в курсе любого готового к использованию раствора.

другой вариант будет использовать группы. создать набор групп для каждого сайта и сортировать пользователей для этих групп. Я думаю, у вас должны быть такие группы, как: site_1_add, site_1_delete, site_1 _.... site_2_add, site_2_delete, site_2 _....

однако, боюсь, это не так хорошо масштабируется. вы не узнаете, если не попробуете.

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

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