Login, mot de passe, BD sql serveur

Résolu
cs_piscine Messages postés 43 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 avril 2005 - 29 juil. 2004 à 06:35
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 29 juil. 2004 à 16:58
Bonjour à tous,
j'utilise delphi 7, sql serveur 2000 et des procedures stockées. Je crée une application genre "gestion de qqch" et j'aimerais qu'une partie ne soit accessible qu'a qq personnes, donc par ex une partie admin qui ne serait ouverte que via un login et mot de passe. Dans ma base j'ai créé une table avec 3 champs : id, login, mot de passe. Et puis...?
Merci de me conseiller

1 réponse

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
29 juil. 2004 à 16:58
Suggestion, dans la table des utilisateurs, un champ nommé status serait utile pour préciser le statut de l'utilisateur connecté : admin ou simple user (voire autre).

En accédant à la table, tu lis les droits de la personne et tu les affectes à une variable globale (UserStatus ci-dessous).

En utilisant les TActionList, il devient alors simple de désactiver les éléments de menu (ou de les griser) en utilisant l'évènement OnUpdate :

type
 TUserStatus = (usUnknown, usAdmin, usSimpleUser);
var
  UserStatus : TUserStatus;

procedure TForm1.Action1Update(Sender: TObject);
begin  TAction(Sender).Enabled :UserStatus usAdmin;
end;

Et si cette action est la même pour plusieurs composants, il suffit de connecter leur évènement OnUpdate sur cette seule routine, ce qui économise pas mal de code (gestionnaire partagé).

Tout ceci, évidemment, ne dispense pas de mettre un peu de sécurité dans l'accès à la table des utilisateurs...
3
Rejoignez-nous