django应用程序与多个站点 - 如何限制员工访问

时间:2011-07-17 21:11:46

标签: python django

我最近使用多个设置文件创建了一个django应用程序,每个设置文件都有自己的SITE_ID,每个SITE_ID都与django_site表中的site_id相关联。现在,我想只为某些网站创建员工,为所有网站创建其他管理员,我该怎样做?

祝福,

2 个答案:

答案 0 :(得分:1)

莫 - 不确定你是否还在寻找答案,但this cross-post可能与你所寻找的一致。

答案 1 :(得分:0)

我担心我有坏消息,你必须自己实施。什么可以 你做的是实现一个新的类说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 _....

然而,我担心它不能很好地扩展。除非你试试,否则你不会发现。

无论如何,无论哪种方式都需要大量的管理员定制。我真的需要先自己做一些研究。