Heim Backend-Entwicklung PHP-Tutorial Apache Shiro-Benutzerhandbuch (1) Einführung in die Shiro-Architektur

Apache Shiro-Benutzerhandbuch (1) Einführung in die Shiro-Architektur

Jan 18, 2017 am 09:14 AM
apache shiro

Apache Shiro-Benutzerhandbuch (1) Einführung in die Shiro-Architektur

1. Was ist Shiro

Apache Shiro ist ein leistungsstarkes und benutzerfreundliches Java-Sicherheitsframework, das Authentifizierung und Autorisierung bietet , Verschlüsselung und Sitzungsverwaltung und andere Funktionen:

Authentifizierung – Benutzeridentifikation, oft als „Benutzeranmeldung“ bezeichnet;
Passwortverschlüsselung – Schutz oder Verstecken von Daten vor neugierigen Blicken Sitzungsverwaltung – Zeitkritischer Status, der jedem Benutzer zugeordnet ist.

Für jede Anwendung kann Shiro umfassende Sicherheitsmanagementdienste anbieten. Und im Vergleich zu anderen Sicherheits-Frameworks ist Shiro viel einfacher.

2. Einführung in die Architektur von Shiro

Werfen wir zunächst einen Blick auf die drei Kernkomponenten von Shiro: Subject, SecurityManager und Realms:

Apache Shiro-Benutzerhandbuch (1) Einführung in die Shiro-Architektur


Betreff: der „aktuelle Betriebsbenutzer“. In Shiro bezieht sich der Begriff „Subjekt“ jedoch nicht nur auf Personen, sondern kann auch Prozesse von Drittanbietern, Hintergrundkonten (Daemon-Konten) oder ähnliche Dinge umfassen. Es bedeutet einfach „womit die Software gerade interagiert“. Aber für die meisten Zwecke und Verwendungszwecke kann man es sich als Shiros „Benutzer“-Konzept vorstellen.

Betreff stellt die Sicherheitsvorgänge des aktuellen Benutzers dar und SecurityManager verwaltet die Sicherheitsvorgänge aller Benutzer.

SecurityManager: Es ist der Kern des Shiro-Frameworks, ein typischer Fassadenmodus, der interne Komponenteninstanzen über SecurityManager verwaltet und darüber verschiedene Dienste für das Sicherheitsmanagement bereitstellt.

Realm: Realm fungiert als „Brücke“ oder „Verbindungsstück“ zwischen Shiro und Anwendungssicherheitsdaten. Das heißt, wenn Shiro die Authentifizierung (Anmeldung) und Autorisierung (Zugriffskontrolle) für einen Benutzer durchführt, sucht Shiro nach dem Benutzer und seinen Berechtigungsinformationen im in der Anwendung konfigurierten Bereich.

In diesem Sinne ist Realm im Wesentlichen ein sicherheitsbezogenes DAO: Es kapselt die Verbindungsdetails der Datenquelle und stellt Shiro bei Bedarf relevante Daten zur Verfügung. Bei der Konfiguration von Shiro müssen Sie mindestens einen Realm für die Authentifizierung und/oder Autorisierung angeben. Es ist möglich, mehrere Realms zu konfigurieren, es ist jedoch mindestens einer erforderlich.

Shiro verfügt über einen integrierten Realm, der eine Verbindung zu einer großen Anzahl sicherer Datenquellen (auch als Verzeichnisse bekannt) herstellen kann, wie z. B. LDAP, relationale Datenbanken (JDBC), INI-ähnliche Textkonfigurationsressourcen und Eigenschaftendateien. usw. Wenn der Standard-Realm Ihren Anforderungen nicht entspricht, können Sie auch Ihre eigene Realm-Implementierung einbinden, die eine benutzerdefinierte Datenquelle darstellt.

Shiro vollständiges Architekturdiagramm:

Apache Shiro-Benutzerhandbuch (1) Einführung in die Shiro-ArchitekturZusätzlich zu den drei oben genannten Kernkomponenten Subject, SecurityManager und Realm umfassen Shiros Hauptkomponenten auch:

Authentifikator: Bei der Authentifizierung handelt es sich um den Prozess der Überprüfung der Benutzeridentität. Ein häufiges Beispiel für diesen Vorgang ist die bekannte Kombination „Benutzer/Passwort“. Wenn sich die meisten Benutzer bei einem Softwaresystem anmelden, geben sie normalerweise ihren Benutzernamen (den Prinzipal) und das zugehörige Passwort (das Zertifikat) an. Wenn das im System gespeicherte Passwort (oder die Passwortdarstellung) mit dem vom Benutzer angegebenen übereinstimmt, gelten sie als authentifiziert.

Autorisierer: Autorisierung ist im Wesentlichen eine Zugriffskontrolle – sie steuert, auf welche Inhalte in der Anwendung Benutzer zugreifen können, z. B. Ressourcen, Webseiten usw.

SessionManager: In der Welt der Sicherheits-Frameworks bietet Apache Shiro etwas Einzigartiges: die konsistente Nutzung der Session-API auf jeder Anwendungs- oder Architekturebene. Das heißt, Shiro bietet ein Konversationsprogrammierungsparadigma für jede Anwendung – von kleinen eigenständigen Backend-Anwendungen bis hin zu großen geclusterten Webanwendungen. Dies bedeutet, dass Anwendungsentwickler, die Sitzungen verwenden möchten, nicht gezwungen sind, ein Servlet oder einen EJB-Container zu verwenden. Wenn diese Container verwendet werden, können Entwickler jetzt alternativ eine konsistente Sitzungs-API auf jeder Ebene anstelle von Servlet- oder EJB-Mechanismen verwenden.

CacheManager: Bietet Caching-Unterstützung für andere Komponenten von Shiro.


Das Obige ist der Inhalt des Apache Shiro-Benutzerhandbuchs (1) Einführung in die Shiro-Architektur. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php). .cn)!


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Leistungsvergleich des PHP-Frameworks: Der ultimative Showdown zwischen Geschwindigkeit und Effizienz Leistungsvergleich des PHP-Frameworks: Der ultimative Showdown zwischen Geschwindigkeit und Effizienz Apr 30, 2024 pm 12:27 PM

Laut Benchmarks zeichnet sich Laravel durch Seitenladegeschwindigkeit und Datenbankabfragen aus, während CodeIgniter sich durch Datenverarbeitung auszeichnet. Bei der Auswahl eines PHP-Frameworks sollten Sie die Anwendungsgröße, die Verkehrsmuster und die Fähigkeiten des Entwicklungsteams berücksichtigen.

Wie führt man Parallelitätstests und Debugging in der Java-Parallelprogrammierung durch? Wie führt man Parallelitätstests und Debugging in der Java-Parallelprogrammierung durch? May 09, 2024 am 09:33 AM

Parallelitätstests und Debugging Parallelitätstests und Debugging in der gleichzeitigen Java-Programmierung sind von entscheidender Bedeutung und die folgenden Techniken stehen zur Verfügung: Parallelitätstests: Unit-Tests: Isolieren und testen Sie eine einzelne gleichzeitige Aufgabe. Integrationstests: Testen der Interaktion zwischen mehreren gleichzeitigen Aufgaben. Lasttests: Bewerten Sie die Leistung und Skalierbarkeit einer Anwendung unter hoher Last. Parallelitäts-Debugging: Haltepunkte: Thread-Ausführung anhalten und Variablen überprüfen oder Code ausführen. Protokollierung: Thread-Ereignisse und -Status aufzeichnen. Stack-Trace: Identifizieren Sie die Quelle der Ausnahme. Visualisierungstools: Überwachen Sie die Thread-Aktivität und die Ressourcennutzung.

Anwendung von Algorithmen beim Aufbau einer 58-Porträt-Plattform Anwendung von Algorithmen beim Aufbau einer 58-Porträt-Plattform May 09, 2024 am 09:01 AM

1. Hintergrund des Baus der 58-Portrait-Plattform Zunächst möchte ich Ihnen den Hintergrund des Baus der 58-Portrait-Plattform mitteilen. 1. Das traditionelle Denken der traditionellen Profiling-Plattform reicht nicht mehr aus. Der Aufbau einer Benutzer-Profiling-Plattform basiert auf Data-Warehouse-Modellierungsfunktionen, um Daten aus mehreren Geschäftsbereichen zu integrieren, um genaue Benutzerporträts zu erstellen Und schließlich muss es über Datenplattformfunktionen verfügen, um Benutzerprofildaten effizient zu speichern, abzufragen und zu teilen sowie Profildienste bereitzustellen. Der Hauptunterschied zwischen einer selbst erstellten Business-Profiling-Plattform und einer Middle-Office-Profiling-Plattform besteht darin, dass die selbst erstellte Profiling-Plattform einen einzelnen Geschäftsbereich bedient und bei Bedarf angepasst werden kann. Die Mid-Office-Plattform bedient mehrere Geschäftsbereiche und ist komplex Modellierung und bietet allgemeinere Funktionen. 2.58 Benutzerporträts vom Hintergrund der Porträtkonstruktion im Mittelbahnsteig 58

So fügen Sie einen Server in Eclipse hinzu So fügen Sie einen Server in Eclipse hinzu May 05, 2024 pm 07:27 PM

Um einen Server zu Eclipse hinzuzufügen, führen Sie die folgenden Schritte aus: Erstellen Sie eine Serverlaufzeitumgebung. Konfigurieren Sie den Server. Erstellen Sie eine Serverinstanz. Wählen Sie die Serverlaufzeitumgebung aus. Konfigurieren Sie die Serverinstanz. Starten Sie das Serverbereitstellungsprojekt

Das Evasive-Modul schützt Ihre Website vor DOS-Angriffen auf Anwendungsebene Das Evasive-Modul schützt Ihre Website vor DOS-Angriffen auf Anwendungsebene Apr 30, 2024 pm 05:34 PM

Es gibt eine Vielzahl von Angriffsmethoden, die eine Website offline schalten können. Die komplexeren Methoden erfordern technische Kenntnisse in Datenbanken und Programmierung. Eine einfachere Methode wird als „DenialOfService“-Angriff (DOS) bezeichnet. Der Name dieser Angriffsmethode leitet sich von ihrer Absicht ab, normale Serviceanfragen von normalen Kunden oder Website-Besuchern abzulehnen. Im Allgemeinen gibt es zwei Formen von DOS-Angriffen: die dritte und vierte Schicht des OSI-Modells, d. h. den Netzwerkschicht-Angriff. Die siebte Schicht des OSI-Modells, d. h. den Anwendungsschicht-Angriff Angriff – die Netzwerkschicht, tritt auf, wenn eine große Menge Junk-Datenverkehr zum Webserver fließt. Wenn der Spam-Verkehr die Fähigkeit des Netzwerks übersteigt, ihn zu verarbeiten, stürzt die Website ab. Die zweite Art von DOS-Angriff erfolgt auf der Anwendungsebene und nutzt kombinierte Angriffe

So stellen Sie eine Website mit PHP bereit und pflegen sie So stellen Sie eine Website mit PHP bereit und pflegen sie May 03, 2024 am 08:54 AM

Um eine PHP-Website erfolgreich bereitzustellen und zu warten, müssen Sie die folgenden Schritte ausführen: Wählen Sie einen Webserver (z. B. Apache oder Nginx). Installieren Sie PHP. Erstellen Sie eine Datenbank und verbinden Sie PHP. Laden Sie Code auf den Server hoch. Richten Sie den Domänennamen und die DNS-Überwachung der Website-Wartung ein Zu den Schritten gehören die Aktualisierung von PHP und Webservern sowie die Sicherung der Website, die Überwachung von Fehlerprotokollen und die Aktualisierung von Inhalten.

Wie kann der Kubernetes-Operator genutzt werden, um die PHP-Cloud-Bereitstellung zu vereinfachen? Wie kann der Kubernetes-Operator genutzt werden, um die PHP-Cloud-Bereitstellung zu vereinfachen? May 06, 2024 pm 04:51 PM

KubernetesOperator vereinfacht die PHP-Cloud-Bereitstellung durch die folgenden Schritte: Installieren Sie PHPOperator, um mit dem Kubernetes-Cluster zu interagieren. Stellen Sie die PHP-Anwendung bereit, deklarieren Sie das Image und den Port. Verwalten Sie die Anwendung mit Befehlen wie dem Abrufen, Beschreiben und Anzeigen von Protokollen.

So implementieren Sie Best Practices für die PHP-Sicherheit So implementieren Sie Best Practices für die PHP-Sicherheit May 05, 2024 am 10:51 AM

So implementieren Sie Best Practices für die PHP-Sicherheit PHP ist eine der beliebtesten Backend-Webprogrammiersprachen, die zum Erstellen dynamischer und interaktiver Websites verwendet wird. Allerdings kann PHP-Code verschiedene Sicherheitslücken aufweisen. Um Ihre Webanwendungen vor diesen Bedrohungen zu schützen, ist die Implementierung bewährter Sicherheitspraktiken von entscheidender Bedeutung. Eingabevalidierung Die Eingabevalidierung ist ein wichtiger erster Schritt zur Validierung von Benutzereingaben und zur Verhinderung böswilliger Eingaben wie SQL-Injection. PHP bietet eine Vielzahl von Eingabevalidierungsfunktionen, wie zum Beispiel filter_var() und preg_match(). Beispiel: $username=filter_var($_POST['username'],FILTER_SANIT

See all articles