Advertisement
SntPx

ldap_auth_views

Nov 13th, 2014
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.97 KB | None | 0 0
  1. # -*- coding: utf8 -*-
  2. from django.shortcuts import render
  3. from authApp.forms import AuthForm
  4. from django.contrib.auth import login, logout, authenticate
  5. from django.contrib.auth.decorators import login_required
  6. from django.http import HttpResponseRedirect
  7. from django.core.urlresolvers import reverse_lazy, reverse
  8. from os import sys
  9.  
  10. # Create your views here.
  11.  
  12.  
  13.  
  14. def login_user(request):
  15.     if request.method == 'POST':
  16.         form = AuthForm(request.POST)
  17.  
  18.         if form.is_valid():
  19.  
  20.             #Récupération des données du formulaire (clean)
  21.             username_str = form.cleaned_data['username']
  22.             password_str = form.cleaned_data['password']
  23.             #rememberMe = form.cleaned_data['rememberMe']
  24.  
  25.             try:
  26.                 user = authenticate(username=username_str, password=password_str)
  27.                 if user is not None:
  28.                     if user.is_active:
  29.                         login(request, user)
  30.                         return render(request, 'authApp/index.html', {'form': form})
  31.                     else:
  32.                         #Utilisateur dont le compte n'est pas activé
  33.                         return render(request, 'authApp/login_error.html', {'errorMsg': u'Ce compte n\'est pas actif'})
  34.                 else:
  35.                     #Utilisateur totalement inexistant absent de l'annuaire LDAP
  36.                     return render(request, 'authApp/login_error.html',
  37.                                   {'errorMsg': u'Le compte demandé est inexistant'})
  38.             except Exception, e:
  39.                 print '--- ==> {e}'.format(e=sys.exc_info())
  40.                 return render(request, 'authApp/login_error.html', {'errorMsg': '{e}'.format(e=sys.exc_info())})
  41.         else:
  42.             return render(request, 'authApp/index.html', {'form': form})
  43.     else:
  44.         form = AuthForm()
  45.         return render(request, 'authApp/index.html', {'form': form})
  46.  
  47. @login_required()
  48. def logout_user(request):
  49.     logout(request)
  50.     return render(request, 'authApp/index.html')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement