Projet e-stock  1.0
BTS SN-IR 2019
Fonctions membres publiques | Attributs privés | Liste de tous les membres
Référence de la classe AuthentificationBadge

#include <AuthentificationBadge.h>

Graphe de collaboration de AuthentificationBadge:
Collaboration graph

Fonctions membres publiques

 AuthentificationBadge (QObject *parent=nullptr)
 
 ~AuthentificationBadge ()
 
bool estValide ()
 
bool estAutorise ()
 
QString getIdUtilisateur () const
 
QString getDateValidite () const
 
QString getIdentifiantBadge () const
 
bool lireBadge (QString badge)
 

Attributs privés

QString identifiantBadge
 l'UID du badge Plus de détails...
 
QString idUtilisateur
 
QString dateValidite
 
bool valide
 
bool autorise
 
BaseDeDonneesbdd
 

Documentation des constructeurs et destructeur

◆ AuthentificationBadge()

AuthentificationBadge::AuthentificationBadge ( QObject *  parent = nullptr)

Références bdd, BaseDeDonnees::connecter(), BaseDeDonnees::estConnecte(), et BaseDeDonnees::getInstance().

4  : QObject(parent), valide(false), autorise(false)
5 {
6  qDebug() << Q_FUNC_INFO;
8  if(!bdd->estConnecte())
9  bdd->connecter();
10 }
static BaseDeDonnees * getInstance(QString type="QMYSQL")
Definition: ihm-estock/baseDeDonnees.cpp:38
bool autorise
Definition: AuthentificationBadge.h:18
bool estConnecte()
Definition: ihm-estock/baseDeDonnees.cpp:70
BaseDeDonnees * bdd
Definition: AuthentificationBadge.h:19
bool connecter(QString nomBase=BDD_NOMBASE, QString username=BDD_USERNAME, QString password=BDD_PASSWORD, QString serveur=BDD_SERVEUR)
Definition: ihm-estock/baseDeDonnees.cpp:76
bool valide
Definition: AuthentificationBadge.h:17

◆ ~AuthentificationBadge()

AuthentificationBadge::~AuthentificationBadge ( )

Références BaseDeDonnees::detruireInstance().

13 {
15  qDebug() << Q_FUNC_INFO;
16 }
static void detruireInstance()
Definition: ihm-estock/baseDeDonnees.cpp:51

Documentation des fonctions membres

◆ estAutorise()

bool AuthentificationBadge::estAutorise ( )

Références bdd, dateValidite, estValide(), identifiantBadge, idUtilisateur, BaseDeDonnees::recuperer(), et valide.

Référencé par IhmAuthentification::validerAcces().

107 {
108  if(!valide)
109  return false;
110  QString dateMaintenant = QDateTime::currentDateTime().toString("yyyy-MM-dd");
111  QString requete = "SELECT idUtilisateur, DateValidite FROM Utilisateur WHERE Badge='" + identifiantBadge + "'";
112  QStringList donneesUtilisateur;
113  idUtilisateur.clear();
114  dateValidite.clear();
115  valide = bdd->recuperer(requete, donneesUtilisateur);
116  if(valide)
117  {
118  idUtilisateur = donneesUtilisateur.at(0);
119  dateValidite = donneesUtilisateur.at(1);
120  qDebug() << Q_FUNC_INFO << "valide" << valide << "idUtilisateur" << idUtilisateur << "dateValidite" << dateValidite;
121  }
122  qDebug() << Q_FUNC_INFO << "valide" << valide;
123  return (valide && estValide());
124 }
QString dateValidite
Definition: AuthentificationBadge.h:16
bool recuperer(QString requete, QString &donnees)
Definition: ihm-estock/baseDeDonnees.cpp:190
QString idUtilisateur
Definition: AuthentificationBadge.h:15
bool estValide()
Definition: AuthentificationBadge.cpp:95
BaseDeDonnees * bdd
Definition: AuthentificationBadge.h:19
bool valide
Definition: AuthentificationBadge.h:17
QString identifiantBadge
l&#39;UID du badge
Definition: AuthentificationBadge.h:14

◆ estValide()

bool AuthentificationBadge::estValide ( )

Références bdd, dateValidite, identifiantBadge, BaseDeDonnees::recuperer(), et valide.

Référencé par estAutorise().

96 {
97  QString dateMaintenant = QDateTime::currentDateTime().toString("yyyy-MM-dd");
98  QString requete = "SELECT DateValidite FROM Utilisateur WHERE Badge='" + identifiantBadge + "' AND DateValidite>='" + dateMaintenant + "'";
99  qDebug() << Q_FUNC_INFO << "requete" << requete;
100  QString retour;
101  valide = bdd->recuperer(requete, retour);
102  qDebug() << Q_FUNC_INFO << "valide" << valide << "dateValidite" << dateValidite;
103  return valide;
104 }
QString dateValidite
Definition: AuthentificationBadge.h:16
bool recuperer(QString requete, QString &donnees)
Definition: ihm-estock/baseDeDonnees.cpp:190
BaseDeDonnees * bdd
Definition: AuthentificationBadge.h:19
bool valide
Definition: AuthentificationBadge.h:17
QString identifiantBadge
l&#39;UID du badge
Definition: AuthentificationBadge.h:14

◆ getDateValidite()

QString AuthentificationBadge::getDateValidite ( ) const

Références dateValidite.

132 {
133  return dateValidite;
134 }
QString dateValidite
Definition: AuthentificationBadge.h:16

◆ getIdentifiantBadge()

QString AuthentificationBadge::getIdentifiantBadge ( ) const

Références identifiantBadge.

137 {
138  return identifiantBadge;
139 }
QString identifiantBadge
l&#39;UID du badge
Definition: AuthentificationBadge.h:14

◆ getIdUtilisateur()

QString AuthentificationBadge::getIdUtilisateur ( ) const

Références idUtilisateur.

Référencé par IhmAuthentification::validerAcces().

127 {
128  return idUtilisateur;
129 }
QString idUtilisateur
Definition: AuthentificationBadge.h:15

◆ lireBadge()

bool AuthentificationBadge::lireBadge ( QString  badge)

Références identifiantBadge, et valide.

Référencé par IhmAuthentification::validerAcces().

19 {
20  //badge = "RFIDMàBDD'èCD"; // test
21  if(badge.isEmpty())
22  return false;
23 
24  qDebug() << Q_FUNC_INFO << "badge" << badge;
25 
26  QString messageNettoye;
27 
28  if(!badge.isEmpty())
29  {
30  // les informations lues proviennent d'un clavier US en QWERTY
31  // remplacement caractères QWERTY
32  messageNettoye = badge.replace(QString::fromUtf8("Q"), "A");
33  messageNettoye = badge.replace(QString::fromUtf8("W"), "Z");
34  messageNettoye = badge.replace(QString::fromUtf8("q"), "q");
35  messageNettoye = badge.replace(QString::fromUtf8("w"), "z");
36  messageNettoye = badge.replace(QString::fromUtf8("M"), ":");
37  // remplacement caractères US
38  messageNettoye = badge.replace(QString::fromUtf8("à"), "0");
39  messageNettoye = badge.replace(QString::fromUtf8("&"), "1");
40  messageNettoye = badge.replace(QString::fromUtf8("é"), "2");
41  messageNettoye = badge.replace(QString::fromUtf8("\""), "3");
42  messageNettoye = badge.replace(QString::fromUtf8("'"), "4");
43  messageNettoye = badge.replace(QString::fromUtf8("("), "5");
44  messageNettoye = badge.replace(QString::fromUtf8("-"), "6");
45  messageNettoye = badge.replace(QString::fromUtf8("è"), "7");
46  messageNettoye = badge.replace(QString::fromUtf8("_"), "8");
47  messageNettoye = badge.replace(QString::fromUtf8("ç"), "9");
48  //qDebug() << Q_FUNC_INFO << messageNettoye;
49 
50  // les informations du badge doivent commencer par "RFID:"
51  if(messageNettoye.startsWith("RFID:"))
52  {
53  QStringList champs = messageNettoye.split(":");
54  //qDebug() << Q_FUNC_INFO << champs;
55 
56  if(champs.count() == 2 && champs.at(0) == "RFID")
57  {
58  // récupération de l'UID du badge
59  QString UID = champs.at(1);
60 
61  // vérification de l'UID du badge (Un UID est une valeur hexadécimale valide)
62  bool ok;
63  qulonglong uid = UID.toULongLong(&ok, 16);
64  //qDebug() << Q_FUNC_INFO << UID << uid << ok;
65  if(ok)
66  {
67  //labelUID->setText("UID : 0x" + UID + "\nUID : " + QString::number(uid));
68  identifiantBadge = UID;
69  qDebug() << Q_FUNC_INFO << "identifiantBadge" << identifiantBadge;
70  valide = true;
71  return true;
72  }
73  else
74  {
75  valide = false;
76  }
77  }
78  else
79  {
80  valide = false;
81  }
82  }
83  else
84  {
85  valide = false;
86  }
87  }
88  else
89  {
90  valide = false;
91  }
92  return false;
93 }
bool valide
Definition: AuthentificationBadge.h:17
QString identifiantBadge
l&#39;UID du badge
Definition: AuthentificationBadge.h:14

Documentation des données membres

◆ autorise

bool AuthentificationBadge::autorise
private

◆ bdd

BaseDeDonnees* AuthentificationBadge::bdd
private

◆ dateValidite

QString AuthentificationBadge::dateValidite
private

◆ identifiantBadge

QString AuthentificationBadge::identifiantBadge
private

◆ idUtilisateur

QString AuthentificationBadge::idUtilisateur
private

Référencé par estAutorise(), et getIdUtilisateur().

◆ valide

bool AuthentificationBadge::valide
private

Référencé par estAutorise(), estValide(), et lireBadge().


La documentation de cette classe a été générée à partir des fichiers suivants :