Skip to content
Snippets Groups Projects
Commit fd79da9a authored by David Ormsbee's avatar David Ormsbee
Browse files

added some sample logging to login process

parent a7e746d3
No related merge requests found
import logging
from djangomako.shortcuts import render_to_response, render_to_string
from django.contrib.auth.models import User
from django.shortcuts import redirect
......@@ -12,6 +14,8 @@ from django.core.validators import validate_email, validate_slug
import random, string
from django.db import connection
log = logging.getLogger("mitx.auth")
def csrf_token(context):
csrf_token = context.get('csrf_token', '')
if csrf_token == 'NOTPROVIDED':
......@@ -37,36 +41,40 @@ def index(request):
# return render_to_response('courseinfo.html', {'error' : '',
# 'csrf': csrf_token })
# Need different levels of logging
def login_user(request, error=""):
# print request.POST
if 'email' not in request.POST or 'password' not in request.POST:
# print "X"
return render_to_response('login.html', {'error':error.replace('+',' ')})
email = request.POST['email']
password = request.POST['password']
try:
user=User.objects.get(email=email)
user = User.objects.get(email=email)
except User.DoesNotExist:
log.warning("Login failed - Unknown user email: {0}".format(email))
return HttpResponse(json.dumps({'success':False,
'error': 'Invalid login'})) # TODO: User error message
username=user.username
user=authenticate(username=username, password=password)
username = user.username
user = authenticate(username=username, password=password)
if user is None:
log.warning("Login failed - Unknown password for {0} is invalid".format(email))
return HttpResponse(json.dumps({'success':False,
'error': 'Invalid login'}))
if user is not None and user.is_active:
login(request, user)
if request.POST['remember'] == 'true':
request.session.set_expiry(None) # or change to 604800 for 7 days
# print "recall"
else:
request.session.set_expiry(0)
#print "close"
# print len(connection.queries), connection.queries
return HttpResponse(json.dumps({'success':True}))
try:
login(request, user)
if request.POST['remember'] == 'true':
request.session.set_expiry(None) # or change to 604800 for 7 days
log.debug("Setting user session to never expire")
else:
request.session.set_expiry(0)
except Exception as e:
log.critical("Login failed - Could not create session. Is memcached running?")
log.exception(e)
# print len(connection.queries), connection.queries
return HttpResponse(json.dumps({'success':True}))
return HttpResponse(json.dumps({'success':False,
'error': 'Account not active. Check your e-mail.'}))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment