Gestion d'utilisateurs, petites questions

moiseom Messages postés 3 Date d'inscription dimanche 10 juin 2007 Statut Membre Dernière intervention 26 avril 2010 - 24 avril 2010 à 01:21
moiseom Messages postés 3 Date d'inscription dimanche 10 juin 2007 Statut Membre Dernière intervention 26 avril 2010 - 26 avril 2010 à 22:33
Bonsoir :)

J'ai beaucoup hésité sur l'endroit où placé mon sujet, par avance mes excuses si ce n'est pas au bon endroit.

Comme le titre l'indique, j'ai des petites questions sur la gestion d'utilisateurs avec Delphi.
J'ai lu beaucoup de choses sur ce forum, et du coup j'ai un petit besoin d'avis, il m'arrive d'avoir une logique surprenante^^

Tout d'abord, mon problème se trouve dans l'utilisation d'une base ou d'un fichier pour la gestion des utilisateurs. Je pensais un fichier mais une base serait peut-être plus facilement gérable pour l'administrateur (il aura le droit d'ajouter des membres et donc des accès).

Ensuite, pour le menu, si je souhaite interdire à un utilisateur l'accès à un élément, je dois jouer avec la propriété Enabled. Jusque là ça va. Mais ma question est plutôt, comment m'y prendre ? Déjà, tout est désactivé à l'origine.
Exemple :
User 1 = niveau 1.
Le niveau 1 autorise Consulter et Ajouter.

Donc je devrais faire un test à l'activation de ma page avec le menu pour regarder le niveau de l'utilisateur ?
Ce qui reviendrait à faire :
Si User 1 = niveau 1 Alors
Consulter.Enabled := True;
Ajouter.Enabled := True;

Mais si j'ai 10 niveau, je dois donc faire 10 fois le test ? Ma question peut sembler bête, mais si je souhaite faire une gestion des membres personnaliser, je trouve que ça peut vite être long, donc je me demande si y a pas plus rapide.

Après, ça concerne la sécurité des mots de passes, j'ai vu des choses aussi sur le forum, mais j'ai pris peur^^ Mais si j'ai bien compris, je dois crypter mes mots de passes ? Finalement comme sur une base php en quelques sortes ?


J'aurais sûrement d'autres questions, mais je dois encore y réfléchir, la nuit portant conseil je verrais demain si j'ai trouvé tout seul ou pas.

En attendant, merci à celui/ceux pouvant répondre à mes petits doutes^^

:)

4 réponses

ThWilliam Messages postés 418 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 26 novembre 2013 4
24 avril 2010 à 10:27
Bonjour.

Pour une gestion plus simple des niveaux utilisateur, tu peux jouer avec la propriété TAG des composants.
Initialisation des Tags :
1 : niveau 1 (pour le bouton ajouter p.ex)
2 : niveau 2 (pour le bouton consulter)
...
en tenant compte que tout ce qui est >= tag est accessible à tel niveau

Dans ta procedure de vérification du niveau :
Ajouter.Enabled:= (Ajouter.Tag >= Niveau);
Consulter.Enabled : (Consulter.Tag >= Niveau);
...

Tu peux alors aussi faire un balayage de tous les composants avec la function ComponentCount. Consulte l'aide Delphi pour un exemple.

A +
Thierry
0
moiseom Messages postés 3 Date d'inscription dimanche 10 juin 2007 Statut Membre Dernière intervention 26 avril 2010
24 avril 2010 à 11:04
Le case j'y songé, je ne l'ai encore jamais utilisé, mais avec l'exemple et quelques recherches je devrais m'en sortir :p)
Merci pour le lien pour le MD5 :)

Pour les Tags, je connaissais pas du tout, ça à l'air pas mal, à tester donc :p)

En tout cas, merci pour vos réponses :)
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
26 avril 2010 à 11:01
Ou plutôt, utilise le SHA256 (ou SHA512 pour paranoiaques en puissance !) en ce moment. MD5 devient vieux et perd en sûreté. Quoiqu'il reste sûr tant que tu n'as pas une puissante organisation criminelle à tes trousses.

C'est relativement facile d'implémenter ce genre de fonctions, mis à part les problèmes d'alignement de bits (big/little endian ...), donc pas trop de problèmes à ce niveau-là.

Cordialement, Bacterius !
0
moiseom Messages postés 3 Date d'inscription dimanche 10 juin 2007 Statut Membre Dernière intervention 26 avril 2010
26 avril 2010 à 22:33
Je prends en compte le conseil, mais je vais sûrement rester sur le MD5. Mon application a un but purement privée, et si jamais j'envisage une sortie du cadre privée, de nombreux éléments seront à revoir. En plus, qui voudrait pirater mon application de gestion des livres d'une bibliothèque :p)

Mais je garde en tête l'idée, car qui sait, peut-être qu'un jour plus ou moins loin mes applications seront vendues^^
0
Rejoignez-nous