Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class SessionIdleTimeout:
- def __init__(self, get_response):
- self.get_response = get_response
- def __call__(self, request):
- print '**********************************'
- response = self.get_response(request)
- print '----------------------------------'
- if request.user.is_authenticated():
- current_datetime = datetime.datetime.now()
- last = (current_datetime - request.session['login_time']).seconds
- if 'login_time' in request.session:
- print (last, '==>', settings.SESSION_IDLE_TIMEOUT)
- if last > settings.SESSION_IDLE_TIMEOUT:
- print ('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%', last)
- logout(request)
- if not request.is_ajax():
- request.session['login_time'] = current_datetime
- else:
- request.session['login_time'] = current_datetime
- print('<=====================================>',request)
- print("++++++++++",response)
- return response
- def auth_view(request):
- username = request.POST.get('username')
- password = request.POST.get('password')
- try:
- user = auth.authenticate(username=username, password=password)
- if user is not None:
- auth.login(request, user)
- request.session['name'] = username
- request.session['login_time'] = datetime.now()
- return HttpResponseRedirect('/role_login/')
- else:
- messages.error(request, "Password Invalid / Expired")
- except TypeError:
- pass
- return HttpResponseRedirect('/login/')
- def logout(request):
- # try:
- # del request.session
- # except KeyError:
- # pass
- for sesskey in request.session.keys():
- del request.session[sesskey]
- print(request)
- return HttpResponseRedirect('/login/')
Add Comment
Please, Sign In to add comment