Heim >häufiges Problem >So implementieren Sie die Netzwerkberechtigungskontrolle
Grobkörnige Berechtigungskontrolle auf URL-Ebene
Die Berechtigungskontrolle ist hauptsächlich in eine grobkörnige Berechtigungskontrolle auf URL-Ebene und eine feinkörnige Berechtigungskontrolle auf URL-Ebene unterteilt. granulierte Berechtigungssteuerung auf Methodenebene. (Empfohlenes Lernen: Web-Frontend-Video-Tutorial)
Unsere Vorgänge im Hintergrundsystem, sei es das Klicken auf eine Schaltfläche oder ein Menüelement, greifen auf einen Server zu. Seitenressource, und was die Serverressource identifiziert, ist die URL. Wie kontrolliere ich die Betriebsberechtigungen von Benutzern für Serverressourcen? In unserer Datenbank gibt es zwei Tabellen:
Benutzertabelle und Berechtigungskontrolltabelle. Den Benutzern in der Benutzertabelle werden die relevanten Berechtigungen in der Berechtigungskontrolltabelle zugeordnet. Mithilfe des Filters wird ermittelt, ob der aktuelle Benutzer über die der URL-Adresse entsprechende Berechtigung verfügt , wird eine Meldung angezeigt, dass die Berechtigungen nicht ausreichen. Wenn die entsprechende Berechtigungsliste des Benutzers die URL-Adresse enthält, ist dem Benutzer der Zugriff gestattet.
Einfach ausgedrückt besteht die URL-basierte grobkörnige Berechtigungskontrolle darin, die entsprechenden Beziehungen zwischen Benutzern, Berechtigungen und Zugriffs-URLs in der Datenbank zu speichern. Wenn der aktuelle Benutzer auf eine URL-Adresse zugreift, wird die Datenbank abgefragt um den aktuellen Status des Benutzers zu ermitteln, ob er diese URL enthält. Ist dies der Fall, ist der Zugriff zulässig. Ist dies nicht der Fall, wird angezeigt, dass Sie nicht über ausreichende Berechtigungen verfügen.
Feinkörnige Berechtigungssteuerung auf Methodenebene
Die feinkörnige Berechtigungssteuerung auf Methodenebene ist detaillierter als die grobkörnige Berechtigungssteuerung. Wenn Sie im Hintergrundsystem auf eine Schaltfläche oder ein Menüelement klicken, greifen Sie gleichermaßen auf eine URL-Ressource auf der Serverseite zu, und diese URL-Adresse umfasst Methoden in der Präsentationsschicht, der Geschäftsschicht und der DAO-Datenschicht. Die grobkörnige Methode besteht darin, die relevanten Berechtigungen des aktuellen Benutzers in der Datentabelle abzufragen und sie zu vergleichen, um zu bestimmen, ob der Benutzer freigegeben werden soll. Der Unterschied besteht darin, dass die feinkörnige Berechtigungssteuerung auf der Grundlage benutzerdefinierter Anmerkungen implementiert wird.
Zum Beispiel: Fügen Sie eine Annotation @Permission („benutzerdefinierter Berechtigungsname“) zu einer Methode in der Geschäftsschicht hinzu. Diese Annotation enthält die für den Zugriff auf die Methode erforderlichen Berechtigungsinformationen, die auch in der Datenbank erstellt werden Tabellen: Benutzertabelle und Berechtigungstabelle. Der Berechtigungsname in der Berechtigungstabelle muss mit dem benutzerdefinierten Namen in der gerade zur Methode hinzugefügten Anmerkung übereinstimmen. Um es klar auszudrücken: Die Berechtigungsinformationen werden in der Berechtigungstabelle beschrieben und dann hinzugefügt Anmerkungen zur Methode: Die Berechtigungen in der Berechtigungstabelle, die dem Benutzer in der Benutzertabelle entsprechen, werden auch in der Datentabelle zugeordnet. Auf welche Methoden und Ressourcen kann der Benutzer zugreifen? durch Datentabellen kombiniert mit Anmerkungen.
Das zugrunde liegende Implementierungsprinzip lautet: Spring verwaltet die Objekte, die den in applicationContext.xml konfigurierten Beans entsprechen. Wenn der Benutzer auf eine URL-Adresse zugreift, kann Spring beim Zugriff jeweils das Proxy-Objekt des realen Objekts zurückgeben Bei der Methode des realen Objekts fragt das Proxy-Objekt die Datenbank ab, um festzustellen, ob der aktuelle Benutzer über die in der Anmerkung definierten Berechtigungen verfügt. Da es sich um das Proxy-Objekt des realen Objekts handelt, kann es diese Reihe von Vorgängen implementieren und schließlich feststellen, ob Ergebnis mit Berechtigungen zur Steuerung des Benutzerzugriffs.
Einfach ausgedrückt wird eine differenzierte Berechtigungssteuerung durch Proxy-Objekte in Kombination mit benutzerdefinierten Anmerkungen erreicht. Wenn der Benutzer auf die Methode des Zielobjekts zugreift, werden der Methode Berechtigungsanmerkungsinformationen hinzugefügt und ein Proxy-Objekt erstellt Greifen Sie für das Zielobjekt auf das Proxy-Objekt zu, bevor Sie auf das reale Objekt zugreifen, um Berechtigungsdaten abzufragen und festzustellen, ob der Benutzer über die in der Anmerkung beschriebenen erforderlichen Berechtigungen verfügt. Wenn Sie über Zugriffsrechte verfügen, wird der Zugriff gewährt. Wenn Sie keine Zugriffsrechte haben, wird der Zugriff gesperrt und eine Meldung angezeigt, die darauf hinweist, dass die Rechte nicht ausreichen.
Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Netzwerkberechtigungskontrolle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!