0

我正在构建一个具有公共访问权限、客户受限区域和经理受限区域的应用程序。

我有一个Manager模型和Client带有用户外键的模型。并且 Manager 会自动添加到 groupmanagers和 client 到clients.

我有一个客户端外联网,现在受@login_required 限制。经理的外联网也是如此。

我需要禁用对经理外联网的访问客户端。

在经理组中创建特权并将其添加到外联网部分的每个视图中或以某种方式不同会更好吗?

4

2 回答 2

0

另外,我使用名为group_required的user_passes_test找到了一个现有的装饰器

可以在这里找到http://djangosnippets.org/snippets/1703/

于 2013-04-23T12:00:34.923 回答
0

一种方法是使用user_passes_test装饰器:

在要限制为经理的视图之前添加此行。

@user_passes_test(lambda u: u.groups.filter(name='managers').count() > 0, login_url='/myapp/denied/')
于 2013-04-23T04:55:55.017 回答