Geavanceerde authenticatie en autorisatie
Geavanceerde authenticatie, fijnmazige autorisatie met @PreAuthorize/@PostAuthorize, roles, permissions, SpEL
1Wat is de belangrijkste rol van de UserDetailsService-interface in Spring Security?
Wat is de belangrijkste rol van de UserDetailsService-interface in Spring Security?
Antwoord
UserDetailsService is verantwoordelijk voor het laden van gebruikersinformatie uit de gegevensbron (database, LDAP, enz.) tijdens de authenticatie. De methode loadUserByUsername() retourneert een UserDetails-object met de username, password, roles en authorities. Spring Security gebruikt deze informatie vervolgens om de credentials te valideren en de SecurityContext op te bouwen.
2Welke annotatie schakelt beveiliging op methodeniveau in Spring Security 6+ in?
Welke annotatie schakelt beveiliging op methodeniveau in Spring Security 6+ in?
Antwoord
@EnableMethodSecurity is de moderne annotatie in Spring Security 6+ die beveiliging op methodeniveau inschakelt. Het vervangt de oude @EnableGlobalMethodSecurity en schakelt standaard @PreAuthorize, @PostAuthorize en @Secured in. Het gebruikt een op AOP-proxy gebaseerde configuratie om methodeaanroepen te onderscheppen en autorisaties te controleren.
3Op welk moment controleert de @PreAuthorize-annotatie de autorisaties?
Op welk moment controleert de @PreAuthorize-annotatie de autorisaties?
Antwoord
@PreAuthorize controleert de autorisaties VÓÓR de uitvoering van de methode. Als de SpEL-voorwaarde false retourneert, wordt er een AccessDeniedException geworpen en wordt de methode nooit uitgevoerd. Dit voorkomt toegang tot ongeautoriseerde resources vanaf het begin. In tegenstelling daartoe controleert @PostAuthorize na de uitvoering, wat nuttig is om resultaten op basis van de gebruiker te filteren.
Wat is het belangrijkste verschil tussen hasRole() en hasAuthority() in Spring Security?
Hoe implementeer je een aangepaste UserDetailsService die gebruikers uit een database laadt?
+27 gespreksvragen
Andere Spring Boot-sollicitatieonderwerpen
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging met SLF4J & Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Uitzonderingsafhandeling
Bean Validation
Spring Data JPA-basis
JPA-entiteiten en relaties
JPA-query's
Spring Data Repositories
Spring Security Basis
Spring Boot Actuator
Unit testing met JUnit & Mockito
Spring Boot testen
Profiles en Environment
RestTemplate en WebClient
Async & Scheduling
Caching met Spring
Spring WebFlux (Reactive)
Spring-transacties
JWT & stateless beveiliging
OAuth2 & Authorization Server
Spring Boot en Docker
Microservices met Spring
Spring Cloud Config
Prestatie-optimalisatie
GraalVM Native Images
Beheers Spring Boot voor je volgende gesprek
Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.
Begin gratis