Das Projekt setzt eine einfache Microservices-Architektur um. Enthalten sind ein API-Gateway, ein Service für die Authentifizierung, ein Service-Discovery-Server und ein Service welcher zwei einfache HTML-Dokumente verwaltet.
Das Projekt setzt eine einfache Microservices-Architektur um. Enthalten sind ein API-Gateway, ein Service für die Authentifizierung, ein Service-Discovery-Server und ein Service welcher zwei einfache HTML-Dokumente verwaltet.
Der Benutzer kann den API-Gateway standardmäßig über http://localhost:2222/ erreichen. Hier wird eine ungesicherte Seite als Antwort gesendet, welche einen Link zu einer gesichterten Seite enthält. Wenn der Benutzer auf den Link klickt wird eine Seite zurückgeliefert die ein Login-Formular enthält. Hier kann der Benutzer sich authentisieren und wenn er die erforderliche Berechtigung besitzt wird ihm die angeforderte Ressource vom API-Gateway zurückgeliefert.
Es existieren zwei Benutzer, ein Benutzer mit dem Benutzernamen "Admin" und einer mit dem Namen "Default". Der Benutzer mit dem Namen "Admin" hat entsprechende Berechtigungen und darf auf die geschützte Ressource zugreifen, der Benutzer mit dem Namen "Default" hingegen hat nur eingeschränkte Berechtigungen und darf nicht auf die Ressource zugreifen. Der Default Nutzer bekommt bei einem Versuch auf die Ressource zuzugreifen eine 403 HTTP Status Response (Forbidden). Diese zeigt dem Benutzer an das die Authentifizierung zwar erfolgreich war, die Autorisierung allerdings fehlgeschlagen ist und er damit kein Recht hat auf die Ressource zuzugreifen.
## Details
## Details
Das Projekt enthält mehrere git submodule von welchen jedes ein eigenständiges git Projekt darstellt. Die Submodule sind:
Das Projekt enthält mehrere git submodule von welchen jedes ein eigenständiges git Projekt darstellt. Die Submodule sind: