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 ...@@ -124,6 +124,9 @@ USE_TZ = True
STATIC_URL = '/static/' STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR,'static') STATIC_ROOT = os.path.join(BASE_DIR,'static')
LOGIN_URL = '/user/login/'
LOGIN_REDIRECT_URL = '/user/'
# AUTHENTICATION_BACKENDS = ["django_auth_ldap.backend.LDAPBackend"] # AUTHENTICATION_BACKENDS = ["django_auth_ldap.backend.LDAPBackend"]
# AUTH_LDAP_SERVER_URI = "ldap://ldap.iitb.ac.in" # AUTH_LDAP_SERVER_URI = "ldap://ldap.iitb.ac.in"
# AUTH_LDAP_ALWAYS_UPDATE_USER = False # AUTH_LDAP_ALWAYS_UPDATE_USER = False
......
...@@ -25,9 +25,6 @@ from django.conf.urls.static import static ...@@ -25,9 +25,6 @@ from django.conf.urls.static import static
urlpatterns = [ urlpatterns = [
path('admin/', admin.site.urls), path('admin/', admin.site.urls),
]
urlpatterns += [
path('user/', include('usermgmt.urls')), path('user/', include('usermgmt.urls')),
path('', RedirectView.as_view(url='user/',permanent=True)), path('', RedirectView.as_view(url='user/',permanent=True)),
] ]
......
...@@ -48,10 +48,10 @@ ...@@ -48,10 +48,10 @@
<label id='error_msg'>{{ error_msg }}</label> <label id='error_msg'>{{ error_msg }}</label>
</div> </div>
<div class="form-group"> <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>
<div class="form-group"> <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>
<div class="form-group"> <div class="form-group">
<div class="custom-control custom-checkbox small"> <div class="custom-control custom-checkbox small">
......
...@@ -11,12 +11,13 @@ ...@@ -11,12 +11,13 @@
<title>View Requests</title> <title>View Requests</title>
{% load static %}
<!-- Custom fonts for this template--> <!-- 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"> <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--> <!-- 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> </head>
...@@ -110,11 +111,18 @@ ...@@ -110,11 +111,18 @@
<!-- Topbar Navbar --> <!-- Topbar Navbar -->
<ul class="navbar-nav ml-auto"> <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"> <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> <i class="fas fa-sign-out-alt fa-sm fa-fw mr-2 text-gray-400"></i>Logout
Logout
</a> </a>
<!-- </div> --> </div>
</li> </li>
</ul> </ul>
...@@ -203,28 +211,28 @@ ...@@ -203,28 +211,28 @@
<div class="modal-body">Select "Logout" below if you are ready to end your current session.</div> <div class="modal-body">Select "Logout" below if you are ready to end your current session.</div>
<div class="modal-footer"> <div class="modal-footer">
<button class="btn btn-secondary" type="button" data-dismiss="modal">Cancel</button> <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>
</div> </div>
</div> </div>
<!-- Bootstrap core JavaScript--> <!-- Bootstrap core JavaScript-->
<script src="vendor/jquery/jquery.min.js"></script> <script src="{% static 'vendor/jquery/jquery.min.js' %}"></script>
<script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script> <script src="{% static 'vendor/bootstrap/js/bootstrap.bundle.min.js' %}"></script>
<!-- Core plugin JavaScript--> <!-- 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--> <!-- 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 --> <!-- 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 --> <!-- Page level custom scripts -->
<script src="js/demo/chart-area-demo.js"></script> <script src="{% static 'js/demo/chart-area-demo.js' %}"></script>
<script src="js/demo/chart-pie-demo.js"></script> <script src="{% static 'js/demo/chart-pie-demo.js' %}"></script>
</body> </body>
......
...@@ -2,6 +2,13 @@ ...@@ -2,6 +2,13 @@
from django.urls import path from django.urls import path
from . import views from . import views
#Add URL maps to redirect the base URL to our application
from django.views.generic import RedirectView
urlpatterns = [ 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.shortcuts import render,redirect
# from django_auth_ldap.backend import LDAPBackend , ldap_error
from ldap3 import Server, Connection, ALL
from django.http import HttpResponse, HttpRequest 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. # 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""" """View function for login page of site"""
if request.method == 'GET': if request.method == 'GET':
#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) return render(request, 'login.html', context=None)
elif request.method == 'POST': elif request.method == 'POST':
# return HttpResponse('<p> Great! logged in!</p>') # return HttpResponse('<p> Great! logged in!</p>')
ldap_server = Server("ldap://ldap.iitb.ac.in", get_info='ALL') username = request.POST['username']
username = request.POST.get('ldapid') password = request.POST['password']
password = request.POST.get('password') user = authenticate(request, username=username, password=password)
user_dn = "uid="+username+",ou=People,dc=iitb,dc=ac,dc=in"
base_dn = "dc=iitb,dc=ac,dc=in" if user is not None:
search_filter = "uid="+username login(request, user)
conn = Connection(ldap_server, user=user_dn, password=password) return redirect('homepage')
# connect.simple_bind_s(user_dn,password) else:
# connect.unbind_s()
if not conn.bind():
return render(request, 'login.html', context={'error_msg':'Invalid Username/Password.'}) 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: else:
return render(request, 'viewreq.html', context=None) return redirect('base')
\ No newline at end of file \ 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