Django客户端和外联网用户的区别

问题描述 投票:0回答:2

我正在建立一个公共访问应用程序,客户限制区域和管理员另一个限制区域。

我有一个Manager模型和Client模型与用户的外键。经理自动添加到组managers和客户端到clients

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

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

是否更好地在管理器组中创建权限并将其添加到Extranet部分中的每个视图或以某种方式不同?

django authentication privileges
2个回答
0
投票

一种方法是使用user_passes_test装饰:

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

@user_passes_test(lambda u: u.groups.filter(name='managers').count() > 0, login_url='/myapp/denied/')

0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.