Classe d'acc�s rapide � la base de donn�es
This commit is contained in:
parent
6d93b49ace
commit
c24b7f9071
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
DB/dbids.py
|
||||||
|
__pycache__
|
42
Auth/authentication.py
Normal file
42
Auth/authentication.py
Normal file
|
@ -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")
|
39
DB/dbLink.py
Normal file
39
DB/dbLink.py
Normal file
|
@ -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")
|
Loading…
Reference in a new issue