Conseils pour mettre en œuvre la gestion des autorisations dans DELPHI
Lors de l'utilisation de DELPHI pour compiler certains systèmes d'application, il est souvent nécessaire d'accorder des autorisations différentes à différents utilisateurs, et différents systèmes ont des méthodes d'attribution d'autorisations différentes. Si des autorisations sont attribuées à chaque utilisateur dans le programme, cela ne fait pas que préparer le programme. très gênant, et ce n'est pas propice à la gestion ! L'auteur a récemment proposé une méthode que je trouve meilleure, et j'aimerais la partager avec vous. J'espère que vous pourrez me donner plus de conseils !
Dans de nombreux systèmes, les autorisations sont généralement divisées en plusieurs niveaux. Les opérations que les utilisateurs de chaque niveau peuvent effectuer sont différentes, et la méthode pour réaliser cette fonction consiste généralement à permettre aux utilisateurs disposant d'autorisations différentes de voir différents menus. En termes simples, ce menu est invisible pour les utilisateurs qui ne disposent pas de certaines autorisations ! Afin de réaliser ce contrôle, les programmeurs doivent souvent passer beaucoup de temps à travailler sur ce module, perdant ainsi un temps précieux !
L'idée de l'auteur est la suivante : si l'on met en place un tableau à deux dimensions, la première dimension représente le menu de premier niveau, et la deuxième dimension représente le sous-menu. Chaque élément du tableau ne stocke que les deux nombres 0 ou 1. Un utilisateur avec. une certaine autorité correspond à un tableau bidimensionnel A, et ce tableau représente le menu correspondant. Après avoir attribué des autorisations à un utilisateur d'un certain niveau, il disposera d'un tableau correspondant. Lors de la connexion, prenez la valeur de chaque élément du tableau. S'il est 1, le menu correspondant apparaîtra, s'il est 0, le menu n'apparaîtra pas. Cette méthode peut non seulement être utilisée pour la classification (les tableaux d'utilisateurs de même niveau sont les mêmes), mais aussi les autorisations peuvent être subdivisées entre différents utilisateurs, à condition de modifier la valeur correspondante à 0 ou 1 !
Ce qui précède est le résultat d’un exemple simple.
Ce qui suit fait partie du programme source (il ne s'agit que d'un exemple de programme explicatif. Pour des raisons de simplicité, il n'y a qu'un seul formulaire et un seul menu principal dans le programme). Initialisez le tableau M lors de la création du formulaire, lisez la valeur du tableau lors de l'affichage et contrôlez l'affichage en définissant la propriété Enabled du menu ou True ou False de la propriété Visible ! !
var
Formulaire1 : TForm1 ;
m:array[0..1,0..4] of integer; //Définit le tableau stocké
i,j:integer;//Définir les variables de la boucle
mise en œuvre
{$R *.dfm}
PRécédure TForm1.FormShow(Expéditeur : TObject);
commencer //Lire les chiffres et contrôler l'affichage du menu
pour i:=Low(m) à High(m) faire
pour j:=Low(m[i]) à High(m[i]) commencez
si m[i][j]=0 alors MainMenu1.Items[i].Items[j].Enabled:=false
sinon MainMenu1.Items[i].Items[j].Enabled:=true;
fin;
fin;
procédure TForm1.FormCreate(Expéditeur : TObject);
start //Ce qui suit est l'initialisation
k:=0;
pour i:=Low(m) à High(m) faire
pour j:=Low(m[i]) à High(m[i]) faire
si (j mod 2)=0 alors m[i][j]:=1
sinon m[i][j]:=0;
fin;