You need to sign in or sign up before continuing.
Commit 3df0203c authored by ASHISH KUMAR GOYAL's avatar ASHISH KUMAR GOYAL

login logout and homepage

parent 434783db
No preview for this file type
......@@ -124,6 +124,9 @@ USE_TZ = True
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR,'static')
LOGIN_URL = '/user/login/'
LOGIN_REDIRECT_URL = '/user/'
# AUTHENTICATION_BACKENDS = ["django_auth_ldap.backend.LDAPBackend"]
# AUTH_LDAP_SERVER_URI = "ldap://ldap.iitb.ac.in"
# AUTH_LDAP_ALWAYS_UPDATE_USER = False
......
......@@ -25,9 +25,6 @@ from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
]
urlpatterns += [
path('user/', include('usermgmt.urls')),
path('', RedirectView.as_view(url='user/',permanent=True)),
]
......
......@@ -48,10 +48,10 @@
<label id='error_msg'>{{ error_msg }}</label>
</div>
<div class="form-group">
<input type="text" class="form-control form-control-user" id="ldapid" name="ldapid" aria-describedby="emailHelp" placeholder="LDAP ID ex. 193050XXX">
<input type="text" class="form-control form-control-user" id="username" name="username" aria-describedby="emailHelp" placeholder="Username">
</div>
<div class="form-group">
<input type="password" class="form-control form-control-user" id="password" name="password" placeholder=" LDAP Password..">
<input type="password" class="form-control form-control-user" id="password" name="password" placeholder="Password">
</div>
<div class="form-group">
<div class="custom-control custom-checkbox small">
......
......@@ -11,12 +11,13 @@
<title>View Requests</title>
{% load static %}
<!-- Custom fonts for this template-->
<link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="{% static 'vendor/fontawesome-free/css/all.min.css' %}" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">
<!-- Custom styles for this template-->
<link href="css/sb-admin-2.min.css" rel="stylesheet">
<link href="{% static 'css/sb-admin-2.min.css' %}" rel="stylesheet">
</head>
......@@ -110,11 +111,18 @@
<!-- Topbar Navbar -->
<ul class="navbar-nav ml-auto">
<li>
<div>
{{ user.username }}
</div>
</li>
&nbsp;&nbsp;&nbsp;
<li>
<div>
<a class="nav-item" href="#" data-toggle="modal" data-target="#logoutModal">
<i class="fas fa-sign-out-alt fa-sm fa-fw mr-2 text-gray-400"></i>
Logout
<i class="fas fa-sign-out-alt fa-sm fa-fw mr-2 text-gray-400"></i>Logout
</a>
<!-- </div> -->
</div>
</li>
</ul>
......@@ -203,28 +211,28 @@
<div class="modal-body">Select "Logout" below if you are ready to end your current session.</div>
<div class="modal-footer">
<button class="btn btn-secondary" type="button" data-dismiss="modal">Cancel</button>
<a class="btn btn-primary" href="login.html">Logout</a>
<a class="btn btn-primary" href="{%url 'logout' %}">Logout</a>
</div>
</div>
</div>
</div>
<!-- Bootstrap core JavaScript-->
<script src="vendor/jquery/jquery.min.js"></script>
<script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="{% static 'vendor/jquery/jquery.min.js' %}"></script>
<script src="{% static 'vendor/bootstrap/js/bootstrap.bundle.min.js' %}"></script>
<!-- Core plugin JavaScript-->
<script src="vendor/jquery-easing/jquery.easing.min.js"></script>
<script src="{% static 'vendor/jquery-easing/jquery.easing.min.js' %}"></script>
<!-- Custom scripts for all pages-->
<script src="js/sb-admin-2.min.js"></script>
<script src="{% static 'js/sb-admin-2.min.js' %}"></script>
<!-- Page level plugins -->
<script src="vendor/chart.js/Chart.min.js"></script>
<script src="{% static 'vendor/chart.js/Chart.min.js' %}"></script>
<!-- Page level custom scripts -->
<script src="js/demo/chart-area-demo.js"></script>
<script src="js/demo/chart-pie-demo.js"></script>
<script src="{% static 'js/demo/chart-area-demo.js' %}"></script>
<script src="{% static 'js/demo/chart-pie-demo.js' %}"></script>
</body>
......
......@@ -2,6 +2,13 @@
from django.urls import path
from . import views
#Add URL maps to redirect the base URL to our application
from django.views.generic import RedirectView
urlpatterns = [
path('', views.login, name='login')
path('', RedirectView.as_view(url='login/'), name='base'),
path('homepage/', views.homepage_view, name='homepage'),
path('login/', views.login_view, name='login'),
path('logout/', views.logout_view, name='logout'),
]
\ No newline at end of file
from django.shortcuts import render
# from django_auth_ldap.backend import LDAPBackend , ldap_error
from ldap3 import Server, Connection, ALL
from django.shortcuts import render,redirect
from django.http import HttpResponse, HttpRequest
from django.contrib.auth.models import User
from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.decorators import login_required
# Create your views here.
def login(request):
@login_required
def homepage_view(request):
#get the user object and send in context
return render(request, 'viewreq.html', context=None)
def login_view(request):
"""View function for login page of site"""
if request.method == 'GET':
return render(request, 'login.html', context=None)
#check if user is authenticated
if request.user.is_authenticated:
return redirect('homepage')
# return render(request, 'viewreq.html', context=None)
else:
return render(request, 'login.html', context=None)
elif request.method == 'POST':
# return HttpResponse('<p> Great! logged in!</p>')
ldap_server = Server("ldap://ldap.iitb.ac.in", get_info='ALL')
username = request.POST.get('ldapid')
password = request.POST.get('password')
user_dn = "uid="+username+",ou=People,dc=iitb,dc=ac,dc=in"
base_dn = "dc=iitb,dc=ac,dc=in"
search_filter = "uid="+username
conn = Connection(ldap_server, user=user_dn, password=password)
# connect.simple_bind_s(user_dn,password)
# connect.unbind_s()
if not conn.bind():
return render(request, 'login.html', context={'error_msg':'Invalid Username/Password.'})
username = request.POST['username']
password = request.POST['password']
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
return redirect('homepage')
else:
return render(request, 'viewreq.html', context=None)
\ No newline at end of file
return render(request, 'login.html', context={'error_msg':'Invalid Username/Password.'})
# return render(request, 'viewreq.html', context=None)
def logout_view(request):
if request.user.is_authenticated:
logout(request)
return HttpResponse('<p> Successfully logged out! Please refresh to go to main page.</p>')
else:
return redirect('base')
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment