限制按组访问某些网址(在urls.py中,而不是使用user_passes_test)

时间:2015-05-20 08:11:15

标签: django django-urls

例如,我有一个组manager。我需要限制仅url(r'^manager/', include('manager.urls')),Manager群组对Admin的访问权限。我在这里的一些帖子中看到了这个案例,但找不到它。我记得此访问权限仅限urls.py而非views.py

1 个答案:

答案 0 :(得分:0)

实现这一目标的通常方法是创建一个可以检查子集URL权限的中间件。

以下是基本上要求用户登录的示例,但您可以使用经理权限检查对其进行扩展 - https://djangosnippets.org/snippets/1220/

鲜为人知的方法是将url(...)替换为RegexURLResolver的自定义子类,它返回带有权限检查的可调用装饰。

有关参考,请参阅 - https://github.com/django/django/blob/master/django/conf/urls/init.py#L70https://github.com/django/django/blob/master/django/core/urlresolvers.py#L246