


Einführung in das Java Permission Framework: Shiros einheitliche Authentifizierung und Autorisierung
Shiros einheitliche Authentifizierung und Autorisierung
Shiro ist ein einfaches und benutzerfreundliches Java-Berechtigungsframework unter Apache. Für einzelne Anwendungen kann Shiro die Berechtigungsanforderungen im Allgemeinen perfekt und schnell erfüllen die erste Wahl für Entwickler bei der Arbeit an Projekten.
Wenn Sie jedoch eine zweite, dritte oder n-te Anwendung erstellen müssen, die ebenfalls dieselbe Authentifizierung und Autorisierung erfordert, müssen Sie Shiro möglicherweise erweitern oder andere Frameworks integrieren. Es entspricht Ihren Anforderungen sehr gut.
Wie Shiro die Authentifizierung und Autorisierung durchführt
Shiro selbst hilft Ihnen nicht bei der Authentifizierung und Autorisierung, aber Shiro definiert einige Konzepte im Zusammenhang mit Berechtigungen sehr gut, sodass Sie bestimmte Implementierungen durchführen können
Authentifizierung
In Shiro ist der Abschluss der Authentifizierung im Allgemeinen subject.login(token), Subject stellt einen Benutzer dar und Token stellt die Autorisierungsinformationen dar, die übermittelt werden, wenn ein Benutzer eine Autorisierung anfordert, über AuthenticatingRealm .doGetAuthenticationInfo() ruft einige Informationen über den aktuellen Betreff ab, z. B. Principals und Anmeldeinformationen, und überprüft das übermittelte Token. Wenn die Anmeldung erfolgreich ist, speichern Sie den aktuell angemeldeten BenutzerAutorisierung
Shiro, die Berechtigungskontrolle ähnelt im Allgemeinen @RequiresPermissions. Wenn ein Benutzer auf eine geschützte Ressource zugreift, verwendet Shiro AuthorizingRealm.doGetAuthorizationInfo(), um die Berechtigungen des Benutzers von den Prinzipalen des aktuell authentifizierten Subjekts abzurufen, um zu bestimmen, ob der Benutzer auf die Ressource zugreifen kann
In Shiro werden die beiden oben genannten Dinge durch die Implementierung von Realm erreicht. Wenn Sie eine einzelne Anwendung haben, ist es sehr einfach, die Authentifizierung und Autorisierung der Anwendung abzuschließen.
Aber was sollten Sie tun, wenn Sie mehrere Anwendungen haben und denselben Satz von Benutzern und Berechtigungsinformationen wiederverwenden müssen? Sie können Realm wiederverwenden und die Benutzerberechtigungen befinden sich in derselben Datenbank. Dies ist jedoch möglich ist zu hoch und verschiedene Anwendungen müssen auf dieselbe Datenquelle zugreifen. Alternativ kann das DAO für Benutzerberechtigungen entfernt und als RPC- oder Rest-Aufruf verwendet werden. Eine bessere Möglichkeit besteht jedoch darin, die gesamte Authentifizierung zu trennen und Autorisierung als reiner Authentifizierungs- und Autorisierungsdienst
Einheitliche Authentifizierung und Autorisierung basierend auf Shiro
Um eine einheitliche Authentifizierung und Autorisierung zu erreichen, verfügt Shiro über CasFilter, das CAS, aber CAS integrieren kann ist ein weiterer Satz von Frameworks, der wichtiger ist. Es fallen separate Lernkosten an. Daher handelt es sich hier um einen einfacheren, leichten und benutzerfreundlichen Shiro-basierten Authentifizierungs- und Autorisierungsdienst shiro-uaa
Authentifizierung und Autorisierungsprozess
Benutzer fordert geschützte Ressourcen an Ressourcenserver
Ressourcenserver ermittelt, ob der Benutzer angemeldet ist
-
Wenn der Benutzer nicht angemeldet ist, leitet Resource Server ihn zum UAA-Server weiter, um sich anzumelden.
Der Benutzer meldet sich beim UAA-Server an. Wenn die Anmeldung erfolgreich ist, kehrt der UAA-Server zurück Der Code wird an den Benutzer gesendet und zum zuvor besuchten Ressourcenserver weitergeleitet.
-
Der Ressourcenserver verwendet Code, um das Zugriffstoken vom UAA-Server abzurufen. Das Token enthält Benutzerautorisierungsinformationen.
Ressourcenserver überprüft, ob das AccessToken legal ist. Wenn es legal ist, speichert es die Benutzerinformationen im Ressourcenserver
Wie unten gezeigt:
Verwenden Sie
auth-server
Quote Maven
Implementieren Sie Ihr eigenes Login
Ressourcenserver
Quote Maven
Genau wie bei Shiro, verwenden Sie relevante Anmerkungen zur Berechtigungskontrolle
Grundlegend Kann sofort verwendet werden. Derzeit ist nur der Authentifizierungsserver verfügbar Als JAR-Paket müssen Sie die Anmeldelogik selbst implementieren.
Shiro-uaa finden Sie in der Projektadresse
Verwandte Empfehlungen:
Detaillierte Erläuterung der Shiro-Autorisierungsimplementierung
Das obige ist der detaillierte Inhalt vonEinführung in das Java Permission Framework: Shiros einheitliche Authentifizierung und Autorisierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Leitfaden zur Quadratwurzel in Java. Hier diskutieren wir anhand eines Beispiels und seiner Code-Implementierung, wie Quadratwurzel in Java funktioniert.

Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

Leitfaden zum Zufallszahlengenerator in Java. Hier besprechen wir Funktionen in Java anhand von Beispielen und zwei verschiedene Generatoren anhand ihrer Beispiele.

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Leitfaden zur Armstrong-Zahl in Java. Hier besprechen wir eine Einführung in die Armstrong-Zahl in Java zusammen mit einem Teil des Codes.

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist
