· 8 years ago · Apr 24, 2017, 03:50 PM
1from flask import render_template, flash, redirect, request, session, abort, url_for, send_from_directory
2from app import app
3import sqlite3
4import hashlib
5from flask import json
6
7app.secret_key = 'secretKey'
8
9
10
11
12
13
14@app.route('/', methods=['GET', 'POST'])
15def login():
16 error = None
17 if request.method == 'POST':
18 username = request.form['username']
19 password = request.form['password']
20 completion = validate(username, password)
21 if completion ==False:
22 error = 'Invalid Credentials. Please try again.'
23 else:
24 return redirect(url_for('dashboard'))
25 return render_template('login.html', error=error)
26
27
28
29def validate(username, password):
30 con = sqlite3.connect('app/static/user.db')
31 completion = False
32 with con:
33 cur = con.cursor()
34 cur.execute("SELECT * FROM Users")
35 rows = cur.fetchall()
36 for row in rows:
37 dbUser = row[0]
38 dbPass = row[1]
39 if dbUser==username:
40 completion=check_password(dbPass, password)
41 return completion
42
43
44
45def check_password(hashed_password, user_password):
46 return hashed_password == hashlib.md5(user_password.encode()).hexdigest()
47
48
49
50
51@app.route('/dashboard')
52def dashboard():
53 return render_template('dashboard.html')