diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..24c0a35 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +DB/dbids.py +__pycache__ diff --git a/Auth/authentication.py b/Auth/authentication.py new file mode 100644 index 0000000..9b03d73 --- /dev/null +++ b/Auth/authentication.py @@ -0,0 +1,42 @@ +# -*-coding:Latin-1 -* +""" +Module permettant d'authentifier un utilisateur +Permet son accès au logiciel ou non +""" + +import DB.dbLink as dbo +from getpass import getpass +import hashlib +import os +import mysql.connector as mariadb + +#TODO : Récupérer les identifiants depuis un form dans une interface graphique +input_id = input("Entrer votre identifiant : ") +input_psswd = getpass("Entrer votre mot de passe : ") +input_psswd = hashlib.md5(input_psswd.encode()) + +#On définit les champs à récupérer en BDD comme vides +user_iD = None +user_psswd = None + +#On va récupérer les infos en BDD +quer = "SELECT Nom FROM utilisateur" +link = dbo.DBLink() +result = link.query("SELECT Nom, MdP FROM utilisateur WHERE Identifiant = %s", [input_id, ]) + +for Nom, MdP in result: + user_iD = Nom + user_psswd = MdP + +#Si l'user ID a été trouvé +#On compare le mot de passe entré à celui récupéré en BDD +#TODO : Définir l'autorisation de la connexion. Un fichier "auth" ? Une variable globale ? +if user_iD != None: + if input_psswd.hexdigest() == user_psswd: + print("Accès autorisé") + else: + print("Le mot de passe est invalide") +else: + print("Cet utilisateur n'existe pas") + +os.system("pause") diff --git a/DB/dbLink.py b/DB/dbLink.py new file mode 100644 index 0000000..75b3fb0 --- /dev/null +++ b/DB/dbLink.py @@ -0,0 +1,39 @@ +# -*-coding:Latin-1 -* + +import os +import DB.dbids as dbids +import mysql.connector as mariadb + + +class DBLink: + """Classe permettant de faire une requete à la base de données""" + + _db_connection = None + _db_cur = None + + #On ouvre la connexion + def __init__(self): + db_ids = dbids.getIds() + self._db_connection = mariadb.connect(host = db_ids["host"], user = db_ids["user"], password = db_ids["password"], database = db_ids["database"]) + self._db_cur = self._db_connection.cursor() + + #Query standard + def query(self, query, args): + self._db_cur.execute(query, args) + return self._db_cur + + #on ferme la connexion + def __del__(self): + self._db_connection.close() + + +def DBTest(): + quer = "SELECT Nom FROM utilisateur" + link = DBLink() + result = link.query("SELECT Nom FROM utilisateur", []) + + for Nom in result: + print(Nom) + + +os.system("pause")