Tipps zur Implementierung der Berechtigungsverwaltung in DELPHI
Bei der Verwendung von DELPHI zum Kompilieren einiger Anwendungssysteme ist es häufig erforderlich, verschiedenen Benutzern unterschiedliche Berechtigungen zu erteilen, und verschiedene Systeme verfügen über unterschiedliche Methoden zur Berechtigungszuweisung. Wenn jedem Benutzer im Programm Berechtigungen zugewiesen werden, wird die Vorbereitung des Programms erleichtert Sehr mühsam und für das Management nicht förderlich! Der Autor hat kürzlich eine Methode entwickelt, die meiner Meinung nach besser ist, und ich möchte sie mit Ihnen teilen. Ich hoffe, Sie können mir weitere Ratschläge geben!
In vielen Systemen sind Berechtigungen meist in mehrere Ebenen unterteilt. Die Vorgänge, die Benutzer auf jeder Ebene ausführen können, sind unterschiedlich. Die Methode zum Erreichen dieser Funktion besteht im Allgemeinen darin, Benutzern mit unterschiedlichen Berechtigungen die Anzeige verschiedener Menüs zu ermöglichen. Einfach ausgedrückt ist dieses Menü für Benutzer unsichtbar, die nicht über bestimmte Berechtigungen verfügen! Um diese Kontrolle zu erreichen, müssen Programmierer oft viel Zeit mit der Arbeit an diesem Modul verbringen und damit viel wertvolle Zeit verschwenden!
Die Idee des Autors ist: Wenn wir ein zweidimensionales Array einrichten, stellt die erste Dimension das Menü der ersten Ebene und die zweite Dimension das Untermenü dar. Jedes Array-Element speichert nur die beiden Zahlen 0 oder 1. Ein Benutzer mit Eine bestimmte Autorität entspricht einem zweidimensionalen Array, und dieses Array repräsentiert das entsprechende Menü. Nachdem einem Benutzer einer bestimmten Ebene Berechtigungen zugewiesen wurden, verfügt er über ein entsprechendes Array. Nehmen Sie beim Anmelden den Wert jedes Elements aus dem Array. Wenn er 1 ist, wird das entsprechende Menü angezeigt. Wenn er 0 ist, wird das Menü nicht angezeigt. Diese Methode kann nicht nur zur Klassifizierung verwendet werden (die Arrays der Benutzer auf derselben Ebene sind gleich), sondern auch die Berechtigungen können auf verschiedene Benutzer aufgeteilt werden, solange Sie den entsprechenden Wert auf 0 oder 1 ändern!
Das Obige ist das Ergebnis eines einfachen Beispiels.
Das Folgende ist Teil des Quellprogramms (dies ist nur ein erläuterndes Beispielprogramm). Der Einfachheit halber gibt es im Programm nur ein Formular und ein Hauptmenü. Initialisieren Sie das Array M beim Erstellen des Formulars, lesen Sie den Array-Wert bei der Anzeige und steuern Sie die Anzeige, indem Sie die Enabled-Eigenschaft des Menüs oder True oder False der Visible-Eigenschaft festlegen! !
var
Form1: TForm1;
m:array[0..1,0..4] of integer; //Definieren Sie das gespeicherte Array
i,j:integer;//Definieren Sie die Variablen der Schleife
Durchführung
{$R *.dfm}
PROzedur TForm1.FormShow(Sender: TObject);
begin //Lesen Sie die Zahlen und steuern Sie die Anzeige des Menüs
für i:=Low(m) to High(m) do
für j:=Low(m[i]) to High(m[i]) beginnen
Wenn m[i][j]=0, dann MainMenu1.Items[i].Items[j].Enabled:=false
sonst MainMenu1.Items[i].Items[j].Enabled:=true;
Ende;
Ende;
procedure TForm1.FormCreate(Sender: TObject);
begin //Das Folgende ist die Initialisierung
k:=0;
für i:=Low(m) to High(m) do
for j:=Low(m[i]) to High(m[i]) do
Wenn (j mod 2)=0, dann m[i][j]:=1
sonst m[i][j]:=0;
Ende;