Buchempfehlung Spring Security

OnDemand

Top Contributor
Hallo zusammen,

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
 

OnDemand

Top Contributor
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?
 

sascha-sphw

Top Contributor
Das liest sich ja interessant, da ist das usermanagement ausgelagert?
Richtig!

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.
 

OnDemand

Top Contributor
Das versteh ich nicht so richtig.
Ich stell mir das so vor:

ich habe einen zentralen keycloak Server. Meine Software wird von verschiedenen Kunden benutzt, läuft also auf mehreren Servern irgendwo.

jeder Kunde kann sich wiederum verschiedene Mitarbeiter anlegen, welche Zugriff auf verschiedene Programmbereiche haben.

Geht das damit?
 

sascha-sphw

Top Contributor
Das versteh ich nicht so richtig.
Ich stell mir das so vor:

ich habe einen zentralen keycloak Server. Meine Software wird von verschiedenen Kunden benutzt, läuft also auf mehreren Servern irgendwo.

jeder Kunde kann sich wiederum verschiedene Mitarbeiter anlegen, welche Zugriff auf verschiedene Programmbereiche haben.

Geht das damit?
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.

Für die Authentifizierung ist Keycloack sicher super, aber die Authorisierung muss ja meines Wissens trotzdem in der Software auch gemacht werden.
Ja klar. Genau so wie mit Spring Security ohne Keycloak.
Java:
@PostAuthorize("hasRole('ADMIN')")
oder
Java:
Authentication authenticationToken = SecurityContextHolder.getContext().getAuthentication();

Untestützung für Spring gibt es auch.

Java:
Authentication authenticationToken = SecurityContextHolder.getContext().getAuthentication();

if (authenticationToken instanceof KeycloakAuthenticationToken) {
    KeycloakPrincipal principal = (KeycloakPrincipal) authenticationToken.getPrincipal();
    ...
}
 
K

kneitzel

Gast
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....
 

OnDemand

Top Contributor
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 😅
 
K

kneitzel

Gast
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 😅

Das dürfte mit der beste Ort sein. Also einfach mal die original Doku durchgehen. Die Spring Dokumentation ist aus meiner Sicht sehr gut.
 

sascha-sphw

Top Contributor
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.
 
K

kneitzel

Gast
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.)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Puppetmaster Benötige Buchempfehlung zum Spring-Framework Frameworks - Spring, Play, Blade, Vaadin & Co 1
B Buchempfehlung für Groovy, Spring, Hibernate, SOAP, J2EE gesucht Frameworks - Spring, Play, Blade, Vaadin & Co 1
8u3631984 Ist es möglich in Spring Entity generische Listen verwenden Frameworks - Spring, Play, Blade, Vaadin & Co 3
R Spring Boot Test Assertions mit Objekten Frameworks - Spring, Play, Blade, Vaadin & Co 6
8u3631984 Pfad zu Test Datei in application.yml in Spring Boot Test Frameworks - Spring, Play, Blade, Vaadin & Co 7
R Spring Boot sql Beziehungen Frameworks - Spring, Play, Blade, Vaadin & Co 12
8u3631984 Spring JPA Probleme beim SPeichern von Sets Frameworks - Spring, Play, Blade, Vaadin & Co 3
M Spring Boot 3 Datenbanken zur Laufzeit Verbinden Frameworks - Spring, Play, Blade, Vaadin & Co 5
8u3631984 Spring JDBC Probleme beim Spaltennamen Frameworks - Spring, Play, Blade, Vaadin & Co 3
LimDul Spring-Batches in Docker über Rest starten/verfolgen Frameworks - Spring, Play, Blade, Vaadin & Co 0
ExceptionOfExpectation In Meiner Spring-Boot Applikation verlangt die Datenbank Wert für eine ID Frameworks - Spring, Play, Blade, Vaadin & Co 5
H Spring Boot Applikation und JHM Benchmark sowie ContextConfiguration in H2 Tests ich bekomme es nicht hin Frameworks - Spring, Play, Blade, Vaadin & Co 2
ExceptionOfExpectation Tests in Spring-Boot Frameworks - Spring, Play, Blade, Vaadin & Co 4
R Eure Erfahrungen mit Primefaces und Spring - wer managed die Beans Frameworks - Spring, Play, Blade, Vaadin & Co 4
Avalon Get Request doppelt abfeuern ohne Post Redirect Get Pattern. Spring Boot Thymeleaf MVC Frameworks - Spring, Play, Blade, Vaadin & Co 12
thor_norsk Konfigurationsprobleme mit Spring Boot Frameworks - Spring, Play, Blade, Vaadin & Co 9
R Spring Boot Integration-testing mit Keycloak Frameworks - Spring, Play, Blade, Vaadin & Co 1
R Spring Boot Integration-testing mit Keycloak Frameworks - Spring, Play, Blade, Vaadin & Co 13
L Spring Data und Rest Controller? Frameworks - Spring, Play, Blade, Vaadin & Co 4
thor_norsk Spring Boot Fehler Frameworks - Spring, Play, Blade, Vaadin & Co 1
L Spring Data und Rest Conroller? Frameworks - Spring, Play, Blade, Vaadin & Co 4
thor_norsk Spring Boot und Docker Frameworks - Spring, Play, Blade, Vaadin & Co 5
B Spring Amazon-SP-Api Frameworks - Spring, Play, Blade, Vaadin & Co 3
8u3631984 Aktualisiere Spring Controller Frameworks - Spring, Play, Blade, Vaadin & Co 4
L Spring Data: Modellierung mit einer Embeddable bean Frameworks - Spring, Play, Blade, Vaadin & Co 2
D Spring Boot Test ob Validation geprüft wurde Frameworks - Spring, Play, Blade, Vaadin & Co 8
K Spring Boot OneToMany Frameworks - Spring, Play, Blade, Vaadin & Co 6
8u3631984 Spring Boot Docker Image erstellen und mit docker-compose konfigurieren Frameworks - Spring, Play, Blade, Vaadin & Co 1
M Wann Spring Batch nutzen? Frameworks - Spring, Play, Blade, Vaadin & Co 1
P Spring Hessian Remote Beispiel Frameworks - Spring, Play, Blade, Vaadin & Co 20
8u3631984 Spring 2.7.8 Info Enpoint nicht zuerreichen Frameworks - Spring, Play, Blade, Vaadin & Co 1
gradlew.bat spring-boot:run funktioniert nicht Frameworks - Spring, Play, Blade, Vaadin & Co 4
Zrebna Spring Boot/Thymeleaf: Bestätigungsemail senden. Frameworks - Spring, Play, Blade, Vaadin & Co 2
Zrebna Spring - Thymeleaf: Wieso wird gem. Fallunterscheidung entsprechende View nicht geladen? Frameworks - Spring, Play, Blade, Vaadin & Co 3
Dimax Spring UsernameNotFoundException(msg); auf der View msg ausdrücken Frameworks - Spring, Play, Blade, Vaadin & Co 1
Dimax Spring UsernameNotFoundException(Message) auf der View Message ausdrücken Frameworks - Spring, Play, Blade, Vaadin & Co 2
B Spring Boot und JPA Error creating bean Frameworks - Spring, Play, Blade, Vaadin & Co 24
R Spring Security: Wie kommt 'UserDetails' an Username und Passwort ran? Frameworks - Spring, Play, Blade, Vaadin & Co 6
R Spring Security: Wie den User dynamisch authentifizieren? Frameworks - Spring, Play, Blade, Vaadin & Co 8
R Spring Security: Authentication & Permissions Frameworks - Spring, Play, Blade, Vaadin & Co 4
R Spring Boot: Warum soll PasswordEncoder in einer neuen Methode definiert sein? Frameworks - Spring, Play, Blade, Vaadin & Co 1
8u3631984 Cross-Origin beim Abrufen von Spring Endpoint Frameworks - Spring, Play, Blade, Vaadin & Co 1
D Spring Boot und Microservices Frameworks - Spring, Play, Blade, Vaadin & Co 1
M Spring Boot additional Datasource for a single entity Frameworks - Spring, Play, Blade, Vaadin & Co 0
T Spring Resourcen Ordner ermitteln Frameworks - Spring, Play, Blade, Vaadin & Co 5
B Spring JPA und Repository Frameworks - Spring, Play, Blade, Vaadin & Co 12
D Mapstruct Dependency Injection funktioniert nicht mit Spring Frameworks - Spring, Play, Blade, Vaadin & Co 15
Avalon Wie sieht bei Euch das Deployment einer Spring Boot Anwendung aus? Frameworks - Spring, Play, Blade, Vaadin & Co 4
M Threads in Spring Boot Frameworks - Spring, Play, Blade, Vaadin & Co 7
W DI-Problem in Spring Boot Frameworks - Spring, Play, Blade, Vaadin & Co 4
T Spring Boot: Was bewirkt parent in maven genau? Frameworks - Spring, Play, Blade, Vaadin & Co 4
T Spring Security: Run-as replacement Einsatzbereich? Frameworks - Spring, Play, Blade, Vaadin & Co 1
OnDemand Vaadin+Spring Boot erster Seitenload nach Neustart endlos Frameworks - Spring, Play, Blade, Vaadin & Co 0
doncarlito87 Wie erhalte ich ein JSON aus eine NativeQuery (Spring Boot)? Frameworks - Spring, Play, Blade, Vaadin & Co 8
Avalon @Query Select Abfrage liefert falsche Werte (Spring Boot, JPA, Hibernate) Frameworks - Spring, Play, Blade, Vaadin & Co 3
Avalon Erstellung Dockerimage mit spring-boot:build-image in Spring Boot mit Umgebungsvariablen Frameworks - Spring, Play, Blade, Vaadin & Co 0
N Spring Integration - Logging Frameworks - Spring, Play, Blade, Vaadin & Co 7
D Spring Boot Field Injection in MapStruct Frameworks - Spring, Play, Blade, Vaadin & Co 5
D Spring Anfänger benötigt Hilfe Frameworks - Spring, Play, Blade, Vaadin & Co 9
OnDemand Spring Boot seltsame Logeinträge: Manipulationsversuche? Frameworks - Spring, Play, Blade, Vaadin & Co 2
D Spring Date keine neue Tabelle fuer Attribut Frameworks - Spring, Play, Blade, Vaadin & Co 1
T Spring Security Config File anpassen Frameworks - Spring, Play, Blade, Vaadin & Co 1
8u3631984 Spring Cloud : Resttemplate mit Loadballancer Frameworks - Spring, Play, Blade, Vaadin & Co 11
Dimax Spring resource not found Frameworks - Spring, Play, Blade, Vaadin & Co 2
M Spring MongoDB unique index Frameworks - Spring, Play, Blade, Vaadin & Co 3
M Spring Entity testen Frameworks - Spring, Play, Blade, Vaadin & Co 1
M Spring Entity testen Frameworks - Spring, Play, Blade, Vaadin & Co 5
Dimax Spring App Probleme beim Ausführen auf dem Tomcat Server Frameworks - Spring, Play, Blade, Vaadin & Co 1
D Spring WebFlux Cors konfigurieren Frameworks - Spring, Play, Blade, Vaadin & Co 1
Dimax Schöne View mit anchor scrolling in Spring Frameworks - Spring, Play, Blade, Vaadin & Co 2
Dimax Spring JPA Multiple Keys Frameworks - Spring, Play, Blade, Vaadin & Co 3
S Spring Security mit oauth2 in lokaler Konfiguration principal mocken Frameworks - Spring, Play, Blade, Vaadin & Co 0
D Spring Boot Mile Stone und Snapshot Versionen Frameworks - Spring, Play, Blade, Vaadin & Co 2
OnDemand Spring Boot Exception Body Frameworks - Spring, Play, Blade, Vaadin & Co 2
D Was ist das Framework "Spring"? Frameworks - Spring, Play, Blade, Vaadin & Co 1
M Spring Unit/Integrations Testing Frameworks - Spring, Play, Blade, Vaadin & Co 3
D Spring Unit Test: UnsatisfiedDependencyException: Error creating bean with name Frameworks - Spring, Play, Blade, Vaadin & Co 2
H Resource Liste Lazy Autowired Spring Context Frameworks - Spring, Play, Blade, Vaadin & Co 2
M Java Spring Security Frameworks - Spring, Play, Blade, Vaadin & Co 5
M Spring Security Login with Credentials Frameworks - Spring, Play, Blade, Vaadin & Co 0
N Spring Boot - Overkill für private Projekte? Frameworks - Spring, Play, Blade, Vaadin & Co 3
krgewb Spring und GWT - & wird zu & amp; Frameworks - Spring, Play, Blade, Vaadin & Co 2
K Migration eines internen Frameworks zu Spring:Boot Frameworks - Spring, Play, Blade, Vaadin & Co 0
OnDemand JPA/Spring Repository Like Suche leeres Ergebnis Frameworks - Spring, Play, Blade, Vaadin & Co 0
Z Hibernate & Postgres in Spring Boot (Syntaxprobleme) Frameworks - Spring, Play, Blade, Vaadin & Co 2
Z Spring Boot mit JPA;, Hibernate, Rest & Lombok Frameworks - Spring, Play, Blade, Vaadin & Co 8
M Spring Initializer - Webservices Frameworks - Spring, Play, Blade, Vaadin & Co 0
D Spring Hateoas Frameworks - Spring, Play, Blade, Vaadin & Co 1
ma095 Spring und Postgresql Errors Frameworks - Spring, Play, Blade, Vaadin & Co 4
OnDemand Spring+Vaadin App startet nicht Frameworks - Spring, Play, Blade, Vaadin & Co 1
OnDemand Spring Request externe API SSL Error Frameworks - Spring, Play, Blade, Vaadin & Co 7
OnDemand Spring Repo speichert, aber es kommt in der DB nicht an Frameworks - Spring, Play, Blade, Vaadin & Co 3
Dimax Im Spring ,Mysql-Funktion aufrufen Frameworks - Spring, Play, Blade, Vaadin & Co 2
OnDemand Spring Security/Boot/Vaadin Cookie Problem bei iFrame Frameworks - Spring, Play, Blade, Vaadin & Co 4
OnDemand Spring Boot: Feld ignorieren Frameworks - Spring, Play, Blade, Vaadin & Co 3
8u3631984 Spring + Thymleaf : Checkbox Object mappen Frameworks - Spring, Play, Blade, Vaadin & Co 0
N Buch zum Spring Framework bzw. Spring Boot Frameworks - Spring, Play, Blade, Vaadin & Co 3
OnDemand Jasypt Spring Boot HIbernate wie komme ich an den Key? Frameworks - Spring, Play, Blade, Vaadin & Co 4
8u3631984 Spring Boot im Docker Container - Logback wird nicht verwendet Frameworks - Spring, Play, Blade, Vaadin & Co 13
sascha-sphw Spring - Authentication object was not found Frameworks - Spring, Play, Blade, Vaadin & Co 3

Ähnliche Java Themen

Neue Themen


Oben