Login using database
This commit is contained in:
parent
885531b74b
commit
481d5650dc
|
@ -11,5 +11,12 @@
|
||||||
"auto_pull_and_restart": false,
|
"auto_pull_and_restart": false,
|
||||||
"webhook_endpoint": "/api/git_commit",
|
"webhook_endpoint": "/api/git_commit",
|
||||||
"secret": "iOnlyHavePullAccess"
|
"secret": "iOnlyHavePullAccess"
|
||||||
|
},
|
||||||
|
"mysql": {
|
||||||
|
"host": "localhost",
|
||||||
|
"port": 3306,
|
||||||
|
"user": "husstanden",
|
||||||
|
"passwd": "",
|
||||||
|
"db": "db_husstanden"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -9,7 +9,7 @@ class LoginForm(Form):
|
||||||
|
|
||||||
password = PasswordField("Password", [
|
password = PasswordField("Password", [
|
||||||
validators.DataRequired(),
|
validators.DataRequired(),
|
||||||
validators.Length(min=6)
|
validators.Length(min=4)
|
||||||
])
|
])
|
||||||
|
|
||||||
class User(UserMixin):
|
class User(UserMixin):
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
import os
|
import os
|
||||||
import json
|
import json
|
||||||
import shutil
|
import shutil
|
||||||
|
import mysql.connector
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# Global variables that is None by default and gets overwritten in other modules
|
# Global variables that is None by default and gets overwritten in other modules
|
||||||
|
|
||||||
app = None # main.py -> Flask App
|
app = None # main.py -> Flask App
|
||||||
|
sql_conn = None
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# Global variables that initializes on first load of module
|
# Global variables that initializes on first load of module
|
||||||
|
@ -15,4 +17,13 @@ if not os.path.isfile("config.json"):
|
||||||
shutil.copy("default_config.json", "config.json")
|
shutil.copy("default_config.json", "config.json")
|
||||||
|
|
||||||
with open("config.json", "r") as f:
|
with open("config.json", "r") as f:
|
||||||
config = json.load(f)
|
config = json.load(f)
|
||||||
|
|
||||||
|
def make_sql_connection():
|
||||||
|
return mysql.connector.connect(**config["mysql"])
|
||||||
|
|
||||||
|
def get_sql_connection():
|
||||||
|
global sql_conn
|
||||||
|
if sql_conn is None or not sql_conn.is_connected():
|
||||||
|
sql_conn = make_sql_connection()
|
||||||
|
return sql_conn
|
||||||
|
|
22
routes.py
22
routes.py
|
@ -27,13 +27,27 @@ def login():
|
||||||
|
|
||||||
form = LoginForm(request.form)
|
form = LoginForm(request.form)
|
||||||
if request.method == "POST" and form.validate():
|
if request.method == "POST" and form.validate():
|
||||||
# TODO: get uuid from database
|
|
||||||
uuid = 0
|
conn = glob.get_sql_connection()
|
||||||
if uuid < 0:
|
cur = conn.cursor()
|
||||||
|
|
||||||
|
cur.execute("""
|
||||||
|
SELECT BrukerID
|
||||||
|
FROM Bruker
|
||||||
|
WHERE Epost = %s
|
||||||
|
AND Passord = %s
|
||||||
|
LIMIT 1;
|
||||||
|
""", (form.email.data, form.password.data))
|
||||||
|
|
||||||
|
uuid = cur.fetchone()
|
||||||
|
|
||||||
|
cur.close()
|
||||||
|
|
||||||
|
if uuid is None:
|
||||||
flash("Invalid login", "danger")
|
flash("Invalid login", "danger")
|
||||||
return render_template("login.html", form=form)
|
return render_template("login.html", form=form)
|
||||||
|
|
||||||
user = User(uuid)
|
user = User(int(uuid[0]))
|
||||||
|
|
||||||
flask_login.login_user(user)
|
flask_login.login_user(user)
|
||||||
logged_in_users.append(user)
|
logged_in_users.append(user)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user