Was ist die wichtigste Änderung in aktuellem Spring Security?
Die größte Änderung ist die Entfernung von WebSecurityConfigurerAdapter. Konfiguration erfolgt nun vollständig über Beans und Lambda-DSL. Das macht Security expliziter und verständlicher.
Warum wurde WebSecurityConfigurerAdapter entfernt?
Er war schwer verständlich und zu magisch. Viele Konfigurationen waren implizit. Die neue DSL zwingt zu klaren Entscheidungen.
Wie konfiguriert man Security heute in Spring Security 6?
Über eine SecurityFilterChain Bean. HTTP-Security wird mit Lambda-Ausdrücken konfiguriert. Jede Konfiguration ist explizit sichtbar.
Was ist eine SecurityFilterChain?
Sie definiert, welche Filter für welche Requests gelten. Mehrere FilterChains sind möglich. Reihenfolge ist entscheidend.
Was hat sich bei HttpSecurity geändert?
HttpSecurity nutzt jetzt ausschließlich Lambda-Syntax. Alte Methoden ohne Lambdas sind deprecated oder entfernt. Lesbarkeit wurde verbessert.
Was ist neu bei authorizeHttpRequests?
authorizeRequests wurde ersetzt. authorizeHttpRequests ist typsicherer. Matcher sind klarer definiert.
Was hat sich bei Request Matchers geändert?
AntMatchers wurden entfernt. Stattdessen nutzt man RequestMatcher oder mvcMatchers. Das verhindert Fehlkonfigurationen.
Warum wurden antMatchers entfernt?
Sie waren fehleranfällig und unklar. Neue Matcher sind expliziter. Sicherheit wird robuster.
Was ist neu bei CSRF-Konfiguration?
CSRF ist weiterhin standardmäßig aktiv. Konfiguration erfolgt über Lambdas. API ist konsistenter.
Wie hat sich OAuth2 Resource Server geändert?
OAuth2 ist stärker integriert. JWT-Konfiguration ist vereinfacht. Defaults sind sicherer.
Was ist neu bei JWT-Konfiguration?
JwtDecoder wird explizit konfiguriert. Claims-Mapping ist klarer. Weniger Magie, mehr Kontrolle.
Was hat sich bei Method Security geändert?
@EnableGlobalMethodSecurity wurde ersetzt. Jetzt nutzt man @EnableMethodSecurity. Konfiguration ist einfacher.
Welche Annotations werden für Method Security genutzt?
@PreAuthorize und @PostAuthorize bleiben Standard. SpEL-Ausdrücke werden weiterhin genutzt. API ist stabil.
Was hat sich bei PasswordEncoder geändert?
DelegatingPasswordEncoder bleibt Standard. Sichere Defaults werden erzwungen. Unsichere Encoder sind discouraged.
Was ist neu bei AuthenticationManager?
AuthenticationManager wird explizit als Bean definiert. Implizite Erstellung wurde entfernt. Kontrolle liegt beim Entwickler.
Was ist AuthenticationProvider heute?
AuthenticationProvider bleibt zentral. Mehrere Provider sind möglich. Konfiguration ist klarer sichtbar.
Was hat sich bei Form Login geändert?
Form Login ist weiterhin verfügbar. Konfiguration erfolgt über Lambda-DSL. Defaults sind sicher.
Was hat sich bei HTTP Basic geändert?
HTTP Basic ist weiterhin vorhanden. Aktivierung erfolgt explizit. Unsichere Defaults wurden reduziert.
Wie wird CORS heute konfiguriert?
CORS wird explizit als Bean definiert. Security nutzt diese Konfiguration. Globale und Security-CORS werden getrennt.
Was ist neu bei Exception Handling?
ExceptionHandling wird per Lambda konfiguriert. EntryPoints und AccessDeniedHandler sind explizit. Fehlerverhalten ist klar steuerbar.
Was ist neu bei Logout?
Logout ist explizit konfigurierbar. URLs und Handler sind klar definiert. Single Logout wird unterstützt.
Wie hat sich Session Management geändert?
Session Management bleibt ähnlich. Defaults sind sicherer. Stateless APIs sind einfacher zu konfigurieren.
Was ist neu bei stateless Security?
Stateless ist klarer konfigurierbar. Kombination mit JWT ist Standard. Session Creation Policy ist explizit.
Was hat sich bei Filter-Reihenfolge geändert?
Filter-Reihenfolge ist expliziter. addFilterBefore und addFilterAfter sind wichtig. Fehlkonfigurationen sind sichtbarer.
Was ist neu bei Test Security?
spring-security-test wurde angepasst. Neue DSLs werden unterstützt. Tests sind näher an Produktionskonfiguration.
Wie wirkt sich Jakarta EE auf Spring Security aus?
Alle Imports sind jetzt jakarta.*. Alte javax.* Klassen sind inkompatibel. Migration ist zwingend.
Was sind typische Migrationsprobleme?
Fehlende FilterChains. Alte Matcher. Nicht angepasste Imports.
Was ist der größte Vorteil der neuen Security-Versionen?
Mehr Transparenz. Weniger Magie. Bessere Wartbarkeit.
Was bedeutet das für neue Projekte?
Spring Security 6 von Anfang an nutzen. Keine Legacy-Patterns verwenden. Security bewusst designen.
Last changed7 hours ago