Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
kann mir jemand ein Buch empfehlen zum Thema Spring Security? Speziell interessiert mich Login mit angehangener Datenbank, User Roles (im Zusammenhang mit Vaadin).
In den Vaadin Tutorials ist immer nur die Rede von inMemory. Zwar gibt es noch ein einige Tutorials die das Thema mit der DB angehen, aber irgendwie fehlt mir da ein wenig der Hintergrund
Ein Buch kann ich Dir leider nicht empfehlen, aber ich würde Dir empfehlen das User Management gar nicht selbst zu machen. Dann ist Spring Security auch gar nicht mehr so viel.
Ich bin inzwischen ein großer Fan von Keycloak https://www.keycloak.org/. Vielleicht ist dass ja auch was für Dich.
Das liest sich ja interessant, da ist das usermanagement ausgelagert?
Angenommen mein Programm hat 20 Nutzer und jeder Nutzer kann wiederum 10 User haben die verschiedene Programmteile aufrufen können. Dann nützt das Programm nix oder?
Angenommen mein Programm hat 20 Nutzer und jeder Nutzer kann wiederum 10 User haben die verschiedene Programmteile aufrufen können. Dann nützt das Programm nix oder?
Ich würde das schon als umsetzbar sehen. Keycloak ist sehr anpassbar. Das könnte man z.B. mit Rollen ggf. auch Gruppen abbilden. Man könnte auch für jeden User beliebige Attribute zuweisen und das damit steuern. Ich kenne selbst auch noch nicht alles, aber ich bin bisher sehr zufrieden. Du kannst Dir Keycloak mit Docker in >1 Min. installieren und ausprobieren, vorausgesetzt Du hast Docker bereits installiert.
Kurze Antwort, ja. Viele Wege führen aber nach Rom. Damit meine ich, man müsste sich halt noch Gedanken machen wie man das für Deinen Usecase am günstigsten umsetzt. Keycloak bietet eine API für alles, auch die Admin Sachen.
Also wenn die Software auf verschiedenen Servern läuft (also sozusagen für jeden Kunden ein Server), dann würde ich da ggf. auch die Administration trennen.
Ich hatte das Anliegen erst Richtung Mandantenfähigkeit verstanden, d.h. du hast einen Server aber diverse Mandanten mit jeweils mehreren User. Da muss man dann überlegen, was man wie benötigt. Das kann man sehr weit treiben. Ein Beispiel wäre z.B. Microsoft mit der Anmeldung. Da geht es so weit, dass nach Eingabe des Users erst einmal bestimmt wird, welche Anmeldung benutzt wird. Das kann bedeuten, dass die Mandanten also einen eigenen Identity Server hinterlegen können.
Generell bevorzuge ich eine klare Trennung bei Mandanten. Das geht aber oft nur bei kleiner Anzahl an Mandanten, aber gibt die größte Sicherheit. Es soll ja kein Mandant versehentlich falsche Daten zu sehen bekommen....
Denke auch, dass es sinnvoller ist zu trennen, sonst holt man sich wieder Abhängigkeiten rein.
also back to the question. Wo bekomm ich am besten Infos zu Spring Security? Sagen wir mal von Anfang an, authentifizieren, autorisieren; das volle Programm 😅
Denke auch, dass es sinnvoller ist zu trennen, sonst holt man sich wieder Abhängigkeiten rein.
also back to the question. Wo bekomm ich am besten Infos zu Spring Security? Sagen wir mal von Anfang an, authentifizieren, autorisieren; das volle Programm 😅
Die Administration kann man auch mit Keycloak trennen. Man könnte pro Mandant ein Realm oder sogar einen eigenen Keycloak Server vorsehen. Du wirst damit nicht eingeschränkt, wie Du das umsetzt ist vollkommen Dir überlassen. Du musst es einfach nur nicht selber machen und kannst Dich mehr oder weniger fast sofort auf die Business Logik stürzen.
Ich will Dir jetzt aber auch nichts aufschwatzen... :-D
Spring Security sollte man sich aber ohnehin ansehen.
Die Administration kann man auch mit Keycloak trennen. Man könnte pro Mandant ein Realm oder sogar einen eigenen Keycloak Server vorsehen. Du wirst damit nicht eingeschränkt, wie Du das umsetzt ist vollkommen Dir überlassen. Du musst es einfach nur nicht selber machen und kannst Dich mehr oder weniger fast sofort auf die Business Logik stürzen.
Ich will Dir jetzt aber auch nichts aufschwatzen... :-D
Spring Security sollte man sich aber ohnehin ansehen.
Die User-Administration sollte man aber ggf. eh immer getrennt halten und dabei auf offene Standards setzen. Dann ist es auch egal, woher dies später kommt. Man selbst kann auf Keycloak oder so setzen, aber wenn ein Kunde das einsetzen will, dann läuft es oft auf andere Identity Provider hinaus.
Daher Stimme ich hier @sascha-sphw voll und ganz zu. Zumal man dann diesen wichtigen Security Aspekt sauber abgetrennt hat - das ist halt extrem wichtig und das will zumindest ich als Entwickler nicht am Bein haben... (Security Audits können ganz schön nerven. Vor allem wenn diese von Kundenseite kommen. Kunde A fordert X aber Kunde B fordert das genaue Gegenteil ... Also da ist es immer gut, wenn man so einen Ball abgeben kann. Und bei offenen Standards ist es einem als Entwickler dann egal, was der Kunde wie einsetzt... Und man selbst ist bei Audits außen vor!
(Das mag aber alles uninteressant sein. Gerade wenn man für sich selbst Software baut, ist das egal.)
Moin, man könnte ja auch jedem Kunden das keycloak auf seinen Server packen. Wäre auch ne Variante, wenn das so viel einfacher ist mit der Absicherung.