2017-05-10 8 views
-1

ここでは、1つのタイプのユーザがログインすると、URLを変更するだけで他のユーザのページにアクセスできます。グループの担当者の利用者が自分でログインしている場合はどのようにアクセスすることができますurls.pyDjangoの一部のユーザグループだけの特定のページを制限する

url(r'^$', views.login_user, name='login_user'), 
url(r'^rep$', views.rep, name='rep'), 

views.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 }) 

@login_requiredとともに、特定のユーザーのみに特定のページを制限することができます他の人のページを変更する/他の人に変更する

答えて

0

1つの方法は、現在のユーザーがページを見ることを許可されている天気を確認するあなた自身のdecoratorを書くことですアクセスしようとしています。これは、セッションを使用して行うことができます。ユーザーがログインすると、認証され、その権限に対応するセッション変数が与えられます。

関連する問題