cs_piscine
Messages postés43Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 avril 2005
-
29 juil. 2004 à 06:35
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDerniè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
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 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...