principe
https://fr.wikipedia.org/wiki/Authentification_forte
rêgle de sécurité
Authentifieur
Autorisation
local : LocalStrategy (nodeJs et passport) , exemple flask
utilisateur (id_utilisateur,login, password, role, est_actif, nom, email)
rêgle pour un mot de passe code
insérer quelques enregistrements avec un encryptage
fichierauth_security.py, ligne 65
password = generate_password_hash(password, method='pbkdf2:sha256')
INSERT INTO utilisateur(id_utilisateur,login,email,password,role,nom,est_actif) VALUES
1,'admin','admin@admin.fr',
('pbkdf2:sha256:1000000$eQDrpqICHZ9eaRTn$446552ca50b5b3c248db2dde6deac950711c03c5d4863fe2bd9cef31d5f11988',
'ROLE_admin','admin','1'),
2,'client','client@client.fr',
('pbkdf2:sha256:1000000$jTcSUnFLWqDqGBJz$bf570532ed29dc8e3836245f37553be6bfea24d19dfb13145d33ab667c09b349',
'ROLE_client','client','1'),
3,'client2','client2@client2.fr',
('pbkdf2:sha256:1000000$qDAkJlUehmaARP1S$39044e949f63765b785007523adcde3d2ad9c2283d71e3ce5ffe58cbf8d86080',
'ROLE_client','client2','1');
password = generate_password_hash(password, method='scrypt')
INSERT INTO utilisateur(id_utilisateur,login,email,password,role,nom,est_actif) VALUES
1,'admin','admin@admin.fr',
('scrypt:32768:8:1$irSP6dJEjy1yXof2$56295be51bb989f467598b63ba6022405139656d6609df8a71768d42738995a21605c9acbac42058790d30fd3adaaec56df272d24bed8385e66229c81e71a4f4',
'ROLE_admin','admin','1'),
2,'client','client@client.fr',
('scrypt:32768:8:1$iFP1d8bdBmhW6Sgc$7950bf6d2336d6c9387fb610ddaec958469d42003fdff6f8cf5a39cf37301195d2e5cad195e6f588b3644d2a9116fa1636eb400b0cb5537603035d9016c15910',
'ROLE_client','client','1'),
3,'client2','client2@client2.fr',
('scrypt:32768:8:1$l3UTNxiLZGuBKGkg$ae3af0d19f0d16d4a495aa633a1cd31ac5ae18f98a06ace037c0f4fb228ed86a2b6abc64262316d0dac936eb72a67ae82cd4d4e4847ee0fb0b19686ee31194b3',
'ROLE_client','client2','1');
dé-archiver le code (squelette du projet)
présentation de app.py
configurer l’accès à la base de données : connexion_db.py (il est possible d’ajouter ce fichier dans .gitignore)
contrôleur auth_security
SELECT last_insert_id() AS last_insert_id;
qui permet de
vérifier quelle est la dernière valeur du compteur (identifiant) après
une commande INSERT
Utiliser le fichier looping suivant
Tester avec différentes jointures
On appellera “entité” une instance d’“une classe
d’entité” comme P. Bergougnoux (bref identique à un
enregistrement).
Il est possible de trouver une autre interprétation d’une “entité”
X
: “exclusivité” ou “exclusion mutuelle” : une entité
du sur-type concernée par une entité du sous-type ne peut pas être
concernée par une entité d’un autre sous-type
T
: “totalité” : toutes les entités du sur-type sont
concernées par au moins une entité d’un sous-type, il y a
“totalité”