在这里,当一种类型的用户登录时,他可以通过简单地更改URL来访问任何其他用户的页面。如何将某些页面限制为仅限某些用户以及@login\u required
你知道吗视图.py你知道吗
def login_user(request):
if request.method == "POST":
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
u = User.objects.get(username=username)
if user.is_active:
login(request, user)
if user.groups.filter(name='hod').exists():
return redirect('/hod')
elif user.groups.filter(name='principal').exists():
return redirect('/principal')
elif user.groups.filter(name='Rep').exists():
return redirect('/rep')
elif user.groups.filter(name='Ajithzen').exists():
return redirect('/ajithsen')
elif user.groups.filter(name='graphics').exists():
return redirect('/ashok')
elif user.groups.filter(name='Event_incharge').exists():
return redirect('/incharge')
elif user.groups.filter(name='Event_coord').exists():
return redirect('/chair')
elif user.groups.filter(name='IEEE').exists():
return redirect('/ieee')
else:
return render(request, 'retest/login.html', {'error_message': 'Invalid login'})
else:
return render(request, 'retest/login.html', {'error_message': 'Your account has been disabled'})
else:
return render(request, 'retest/login.html', {'error_message': 'Invalid login'})
return render(request, 'retest/login.html')
@login_required
def rep(request):
u = request.user
all_requests= Retest.objects.all()
return render(request, 'retest/home.html', {'u':u, 'all_requests' : all_requests })
你知道吗网址.py你知道吗
url(r'^$', views.login_user, name='login_user'),
url(r'^rep$', views.rep, name='rep'),
如果组rep的用户已登录,则可以通过将/rep更改为其他用户来访问其他用户的页面
一种方法是编写自己的decorator,检查是否允许当前用户查看他们试图访问的页面。这可以通过使用会话来完成。当用户登录时,他们会得到身份验证,并得到一个与其权限相对应的会话变量。你知道吗
相关问题 更多 >
编程相关推荐