Implementieren Sie die Verwaltung der Benutzerberechnung in Geschäftssystemen
Berechtigungen im B/S -System sind wichtiger als die in C/s. Da das C/S -System über einen speziellen Client verfügt, kann die Erkennung von Zugriffsnutzern über den Client oder die Erkennung von Client + Server implementiert werden. In B/S sind Browser bereits jedem Computer verfügbar. Wenn keine vollständige Erkennung von Berechtigungen festgestellt wird, kann ein "illegaler Benutzer" über den Browser problemlos auf alle Funktionen im B/S -System zugreifen. Daher müssen B/S -Geschäftssysteme über ein oder mehrere Berechtigungssysteme verfügen, um die Erkennung von Zugriffsberechtigten zu implementieren, sodass autorisierte Benutzer autorisierte Funktionen normal und legal verwenden können, und diese nicht autorisierten "illegalen Benutzer" lehnen sie vollständig "ablehnen". Schauen wir uns an, wie Sie ein Berechtigungssystem entwerfen, das die Kontrolle der Benutzerfunktionsberechtigungen in den meisten B/S -Systemen erfüllen kann.
Anforderungserklärung
• Personal mit unterschiedlichen Verantwortlichkeiten sollten unterschiedliche Berechtigungen für Systemvorgänge haben. Ausgezeichnetes Geschäftssystem ist die grundlegendste Funktion.
• Sie können der Gruppe Berechtigungen zuweisen. Für ein Geschäftssystem eines großen Unternehmens ist es zeitaufwändig und unpraktisch, die Administratoren aufzufordern, ihren Mitarbeitern einen Systembetriebsberechtigungen einzeln zuzuweisen. Daher schlägt das System das Konzept des Betriebs von "Gruppen" vor und organisiert Menschen mit konsistenten Berechtigungen in derselben Gruppe und zuteilt dann der Gruppe Berechtigungen.
• Das Berechtigungsmanagementsystem sollte erweiterbar sein. Es sollte in der Lage sein, jedem System mit Berechtigungsmanagementfunktionen beizutreten. Genau wie Komponenten können sie ständig wiederverwendet werden, anstatt den Teil des Berechtigungsmanagements für jedes entwickelte Managementsystem zu sanieren.
• Erfüllen Sie die Funktionsberechtigungen im Geschäftssystem. In traditionellen Geschäftssystemen gibt es zwei Arten von Berechtigungsmanagement. Das eine ist das Management von Funktionsberechtigungen, und das andere ist die Verwaltung von Ressourcenberechtigungen. Zwischen verschiedenen Systemen können funktionale Berechtigungen wiederverwendet werden, während Ressourcenberechtigungen dies nicht können.
Über Design
Mit Hilfe des Aktionsprogrammierung von Noahweb müssen Systemdesigner in der Entwurfsphase nicht das Design der Programmstruktur berücksichtigen, sondern mit dem Programmfluss und der Datenbankstruktur beginnen. Um die Anforderungen zu erkennen, ist das Design der Datenbank äußerst wichtig. Ob es sich um das Konzept des "Gruppen" -Operationsbetriebs oder um die Wiederverwendbarkeit des gesamten Satzes von Berechtigungsmanagementsystemen handelt, liegt in der Gestaltung der Datenbank.
Lassen Sie uns zuerst die Datenbankstruktur analysieren:
Zunächst sind die Aktionstabelle ( im Folgenden als "Berechtigungstabelle" bezeichnet ), die Gorupmanager -Tabelle ( im Folgenden als "Verwaltungsgruppentabelle" bezeichnet ) und die Master -Tabelle ( im Folgenden als "Personaltabelle" bezeichnet ) drei Entitätstabellen, die die Informationen von "Berechtigungen", die Informationen der "Verwaltungsgruppe" und die Informationen von "Personnel" und die Informationen von "Personal" ". Wie in der Abbildung unten gezeigt:
Die Beziehung zwischen diesen drei Tabellen ist viel zu viel. Eine Genehmigung kann gleichzeitig zu mehreren Verwaltungsgruppen gehören, und eine Verwaltungsgruppe kann auch mehrere Berechtigungen gleichzeitig enthalten. Aus dem gleichen Grund kann eine Person gleichzeitig zu mehreren Verwaltungsgruppen gehören, und eine Verwaltungsgruppe kann auch mehrere Mitarbeiter gleichzeitig einbeziehen. Wie in der Abbildung unten gezeigt:
Da es zwischen diesen drei Tabellen eine Viele-zu-Viele-Beziehung gibt, verwenden Sie am besten die beiden anderen Tabellen, um die Interaktion zu vervollständigen. Diese beiden Tabellen spielen eine Zuordnungsrolle, nämlich die "ActionGroup" -Tabelle (im Folgenden als "Berechtigungszuordnungstabelle") und die "MasterGroup" -Tabelle (im Folgenden als "Personal -Mapping -Tabelle" bezeichnet) . Die erstere karten die Wechselwirkung zwischen der Berechtigungstabelle und der Management Group -Tabelle. Letzteres ordnet die Wechselwirkung zwischen der Personaltabelle und der Management Group -Tabelle ab. Wie in der Abbildung unten gezeigt:
Darüber hinaus ist eine Tabelle erforderlich, um die Berechtigungsspalte im linken Menü der Systemlaufzeit zu steuern, dh die "Berechtigungsspalte Tabelle", wie in der folgenden Abbildung gezeigt:
Basierend auf der obigen Analyse führen wir das Design der Datenbankstruktur durch, wie in der folgenden Abbildung gezeigt:
Klicken Sie hier, um das Feld "Datentabelle des Berechtigungsverwaltungssystems" anzuzeigen
Um eine gute Analyse durchzuführen, teilen wir das Datenbankstrukturdiagramm auf. Die Rolle der drei Entitätstabellen ist bereits sehr klar. Schauen wir uns nun die Rolle der beiden Mapping -Tische an.
Eine Berechtigungszuordnungstabelle ist unten angezeigt:
Schauen wir uns zunächst einen Blick auf die Feldvereinigung zwischen der Berechnungstabelle und der Verwaltungsgruppentabelle und der Berechtigungstabelle .
Wenn Sie sich den roten Kreis im Bild ansehen, schauen Sie sich zunächst die Assoziation des Gorupid -Feldes an. Die Leistung dieser Assoziationsmethode in der tatsächlichen Datenbank ist wie folgt:
Wie in der Abbildung gezeigt, beträgt die Gruppe von "Super Administrator" in der Management Group -Tabelle 1, sodass die Genehmigung mit Gruppen -1 in der Berechtigungszuordnungstabelle die Genehmigung des "Superadministrators" ist.
Verwenden Sie GroupID Field Association, um herauszufinden, welche Berechtigungen eine Verwaltungsgruppe ausführen kann. Die detaillierten Informationen dieser Berechtigungen finden Sie jedoch in der Aktionsfeldvereinigung.
Das Verhalten des Aktionsfelds in der Datenbank ist wie folgt:
Nur durch diese Assoziation können die detaillierten Informationen dieser Berechtigungen in der Berechnungstabelle gefunden werden. Zusammenfassend wissen wir, welche Berechtigungen eine Verwaltungsgruppe ausführen kann und welche Details zu diesen Berechtigungen sind.
Vielleicht werden Sie fragen, warum nicht das actionid -Feld verwenden, um sich zu verbinden. Weil:
• Das ID -Feld in der Berechtigungstabelle kann sich nach mehreren Datenbankvorgängen ändern.
• In der MAP -Tabelle der Berechtigungen werden nur die Berechtigungen aufgezeichnet, die eine Verwaltungsgruppe ausführen kann.
• Sobald sich die ID in der Berechtigungstabelle ändert, ändern sich auch die Datensätze in der Berechtigungskarte.
• In den Berechtigungen wird ein Fehler auftreten, den eine Verwaltungsgruppe ausführen kann, was sehr unerwünscht ist.
In Anbetracht der obigen Situation sollte das Aktionsfeld zugeordnet werden, weil:
• In der Erlaubnisetabelle kann sich die ID ändern, aber das Aktionsfeld kann sich unter keinen Umständen ändern.
• Die in der Berechtigungskarte aufgezeichneten Aktionsfelder ändert sich nicht.
• Es gibt keine Fehler in den Berechtigungen, die eine Verwaltungsgruppe ausführen kann.
Die Zwei-Personen-Mapping-Tabelle lautet wie folgt:
Erfahren wir über den Feldzustand zwischen der Personal -Mapping -Tabelle , der Management Group -Tabelle und der Personalabelle , wie in der folgenden Abbildung gezeigt:
Wenn Sie sich den Red Circle -Teil des Bildes ansehen, schauen Sie sich zunächst die Gruppen -Feldvereinigung an. Diese Assoziationsmethode wird in der Datenbank durchgeführt, wie in der folgenden Abbildung gezeigt:
Wie in der Abbildung gezeigt, beträgt die Gruppe der "Super Administrator" -Gruppe 1. Schauen wir uns die Personal -Mapping -Tabelle an. Der Administrator gehört zur Super Administrator -Gruppe, während Administrator zur Super Administrator -Gruppe und auch zur Administratorgruppe gehört.
Diese Assoziationsmethode wird verwendet, um herauszufinden, wer sich in einer Managementgruppe befindet. Wie oben werden die detaillierten Informationen einer Person durch die Assoziation mit dem ID -Feld (das Feld MasterID in der Personal Mapping -Tabelle ) abgefragt.
Das ID -Feld (MasterID -Feld in der Personalzuordnungstabelle ) bezieht sich auf die Datenbank, wie in der folgenden Abbildung gezeigt:
Eine Person kann gleichzeitig zu mehreren "Verwaltungsgruppen" gehören. Wie in der Abbildung gezeigt, gehört der Administrator gleichzeitig zu zwei "Verwaltungsgruppen". Daher werden in der Personal -Mapping -Tabelle zwei Aufzeichnungen über Administratoren vorhanden.
Nur auf diese Weise können wir die detaillierten Informationen des Personals in der Verwaltungsgruppe abfragen. Nur durch Kombination können wir wissen, wer sich in einer Verwaltungsgruppe befindet, und die detaillierten Informationen dieses Personals.
Kombinieren Sie die oben erwähnte Berechnungstabelle und Berechtigungszuordnungstabelle , die "Gruppen" -Operation in den Anforderungen wird realisiert, wie in der folgenden Abbildung gezeigt:
Tatsächlich erfasst die Tabelle der Verwaltungsgruppe nur die grundlegenden Informationen der Gruppe, z. B. Name, Gruppen -ID usw. Wie für die Details der Personen in einer Gruppe sowie die Details der Berechtigungen, die die Gruppe ausführen kann, werden in der Personalentabelle und in der Berechtigungstabelle aufgezeichnet. Nur die beiden Mapping -Tabellen zeichnen wirklich auf, welche Personen in einer Gruppe sind und welche Berechtigungen ausgeführt werden können. Nur durch die Verbindung von zwei Zuordnungstabellen kann die Wechselwirkung zwischen den drei Entitätstabellen realisiert werden, wodurch die in den Anforderungen erwähnte "Gruppen" -Operation abgeschlossen wird .
Schauen wir uns die Wechselwirkung zwischen der Berechtigungssäulenentabelle und der Berechtigungstabelle an. Die Felder zwischen diesen beiden Tabellen sind wie folgt:
Die beiden Tabellen verwenden das Feld ActionColumnid, um zugeordnet zu werden. Die Beziehungsmethode in der Datenbank ist in der folgenden Abbildung dargestellt:
Wie in der Abbildung gezeigt, können wir durch diese Assoziationsmethode deutlich sehen, zu welcher Spalte die Berechtigungen in der Berechtigungstabelle gehören.
Jetzt ist die Datenbankstruktur sehr klar, und die Funktion der Zuweisung von Berechtigungen und "Gruppen" -Operationen wurde implementiert. Lassen Sie uns die in den Anforderungen genannten Wiederverwendbarkeitsprobleme von Berechtigungsmanagementsystemen analysieren.
Warum kann ein System mit dieser Datenbankdesignmethode wiederverwendet werden?
In den drei Entitätstabellen werden drei entscheidende Elemente im System aufgezeichnet. "Berechtigungen", "Gruppen" und "Menschen". Diese drei Elemente können nach Belieben hinzugefügt werden, ohne voneinander betroffen zu sein. Unabhängig davon, in welcher Art von Geschäftssystem es sich handelt, ändern sich diese drei entscheidenden Elemente nicht, was bedeutet, dass sich die Struktur nicht ändert, sondern sich nur die Daten ändern.
Die Beziehung zwischen den drei Elementen wird in den beiden Mapping -Tabellen aufgezeichnet. Diese Beziehungen werden jedoch vollständig vom Menschen geschaffen. Wenn Änderungen benötigt werden, arbeiten sie nur mit den Datensätzen in der Datenbank, ohne die Struktur zu ändern.
Die Berechtigungsspalten -Tabelle erfasst die Spalten, die angezeigt werden, wenn das System verwendet wird . Unabhängig davon, ob Sie Spalten hinzufügen, Spalten ändern oder Spalten reduzieren möchten, handelt es sich nur um einen Betriebsdatensatz.
Zusammenfassend kann das System durch Entwerfen einer Datenbank auf diese Weise vollständig wiederverwendet werden und dem Test von "Änderung" standhalten.
Zusammenfassen:
Der Schlüssel zu diesem System ist, dass die drei physikalischen Tabellen die Kernkomponenten des Systems fest erfassen und die beiden Mapping -Tabellen die Interaktion zwischen den drei physikalischen Tabellen perfekt zuordnen. Die Schwierigkeit besteht darin, die Arbeit der Kartentabelle zu verstehen, in der die Beziehung aufgezeichnet und das Konzept der "Gruppen" -Operation implementiert wird. Das Gesamtdesign des Systems besteht darin, die funktionalen Berechtigungseinstellungen verschiedener Systeme zu erfüllen, indem sie in verschiedenen MIS -Systemen wiederverwendet.
Anhang:
Felddesign der Datentabelle des Berechtigungsmanagementsystems
Schauen wir uns die Datenbanktabellendesign des Berechtigungsmanagementsystems an, das in sechs Tabellen unterteilt ist, wie in der folgenden Abbildung gezeigt:
Aktionstabelle:
Die Aktionstabelle erfasst alle Aktionen im System und die Aktionsbeschreibung.
ActionColumn -Tabelle:
In der ActionColumn -Tabelle werden die Aktionsspalte aufgezeichnet. Wenn das System ausgeführt wird, bietet die linke Menüleiste verschiedene Funktionen. Jeder Block ist eine Spalte. Jede Spalte wird hinzugefügt, ein Datensatz in der Tabelle wird hinzugefügt. Entsprechend wird eine neue Spalte in die linke Menüleiste hinzugefügt.
ActionGroup -Tabelle:
In der ActionGroup -Tabelle wird die Gruppe aufgezeichnet, in der sich die Aktion befindet.
GroupManager -Tabelle:
In der GroupManager -Tabelle werden relevante Informationen über die Verwaltungsgruppe aufgezeichnet. Für jede hinzugefügte Verwaltungsgruppe wird hier ein Datensatz hinzugefügt.
MasterGroup -Tabelle:
Die MasterGroup -Tabelle erfasst die Verwaltungsgruppe, in der sich der Administrator befindet. Da ein Administrator möglicherweise gleichzeitig zu mehreren Gruppen angehört, gibt es möglicherweise mehrere Datensätze über einen Administrator in der Tabelle.
Master Tabelle:
Die Master -Tabelle erfasst die Informationen aller Administratoren. Für jeden hinzugefügten Administrator fügt die Tabelle einen Datensatz hinzu.
Das oben genannte allgemeine Design -Management -Design (empfohlen) in Java ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.