Django 对应用程序的自定义访问
我有一个关于Django和授权的小问题。 我有一个应用程序,必须通过用户谁是在某种组织访问。 e、 g:如果用户属于组织类型1,他可以,否则他不能Django 对应用程序的自定义访问,django,Django,我有一个关于Django和授权的小问题。 我有一个应用程序,必须通过用户谁是在某种组织访问。 e、 g:如果用户属于组织类型1,他可以,否则他不能 我应该使用权限还是使用自定义中间件?使用user\u passes\u testdecorator来完成 from django.contrib.auth.decorators import login_required,user_passes_test def is_auth(u): #u is the request.user i
我应该使用权限还是使用自定义中间件?使用
user\u passes\u test
decorator来完成
from django.contrib.auth.decorators import login_required,user_passes_test
def is_auth(u):
#u is the request.user
if user_auth_for_page(u):
return True
return False
def user_auth_for_page(u):
#your Authentication function here
#if user is in org1 return true
@user_passes_test(lambda u: is_auth(u),login_url='/home/')
@login_required
def page(request):
...
同样,最好的方法是将其与django团体结合使用
def is_auth(u,g):
l=u.groups.all()
for i in l:
if i.name==g:
return True
return False
@user_passes_test(lambda u: is_auth(u,'admin'),login_url='/home/')
您可以使用
django.contrib.auth中的组和权限
在应用程序中管理组织,我不想使用组来实现这一点