{% extends "introduction/base.html" %} {% block content %} {% block title %} Identification and Authentication Failures {% endblock %} {% if success %}

Successfully logged in as {{username}}
{% csrf_token %}
{% else %}

LOG IN

{% if failure %} {% endif %} {% endif %} {% if is_locked %} {% endif %} {% comment %} -------------------------------------------------------------------------- {% endcomment %}
@authentication_decorator
@csrf_exempt
def auth_failure_lab3(request):
 if request.method == "GET":
  try:
   cookie = request.COOKIES["session_id"]
   session = AF_session_id.objects.get(session_id=cookie)
   if session :
    return render(request,"Lab_2021/A7_auth_failure/lab3.html", {"username":session.user,"success":True})
  except:
   pass
  return render(request, "Lab_2021/A7_auth_failure/lab3.html")
 elif request.method == "POST":
  token = str(uuid.uuid4())
  try:
   username = request.POST["username"]
   password = request.POST["password"]
   password = hashlib.sha256(password.encode()).hexdigest()
  except:
   response = render(request, "Lab_2021/A7_auth_failure/lab3.html")
   response.set_cookie("session_id", None)
   return response

  if USER_A7_LAB3[username]['password'] == password:
   session_data = AF_session_id.objects.create(session_id=token, user=USER_A7_LAB3[username]['username'])
   session_data.save()
   response = render(request, "Lab_2021/A7_auth_failure/lab3.html", {"success":True, "failure":False, "username":username})
   response.set_cookie("session_id", token)
   return response
{% endblock %}