Fundamentos do Spring Security
Spring Security, autenticação, autorização, SecurityFilterChain, UserDetailsService, PasswordEncoder
1O que é Spring Security?
O que é Spring Security?
Resposta
Spring Security é um framework de segurança para aplicações Spring que fornece funcionalidades de autenticação e autorização. Ele protege as aplicações contra ataques comuns (CSRF, XSS, session fixation) e oferece integração com diversos mecanismos de autenticação (form login, HTTP Basic, OAuth2, JWT). O framework usa uma cadeia de filtros (Security Filter Chain) para interceptar e processar as requisições HTTP antes que cheguem aos controllers.
2Qual é a diferença entre autenticação e autorização no Spring Security?
Qual é a diferença entre autenticação e autorização no Spring Security?
Resposta
A autenticação verifica a identidade do usuário (quem é você?), normalmente via username/password, enquanto a autorização verifica as permissões (o que você pode fazer?). A autenticação acontece primeiro e cria um SecurityContext com as informações do usuário. A autorização então usa essas informações para decidir se o usuário pode acessar um recurso específico. Por exemplo, um usuário pode ser autenticado com sucesso mas não estar autorizado a acessar /admin se seu papel for USER e não ADMIN.
3O que é o SecurityContext no Spring Security?
O que é o SecurityContext no Spring Security?
Resposta
O SecurityContext é um objeto que contém as informações de segurança do usuário atualmente autenticado, principalmente o objeto Authentication. Ele é armazenado no SecurityContextHolder e fica acessível durante todo o processamento da requisição. Após uma autenticação bem-sucedida, o Spring Security cria um SecurityContext contendo um Authentication com os detalhes do usuário (username, authorities, credentials). Esse contexto permite que a aplicação verifique quem é o usuário atual e quais são suas permissões.
Como o SecurityContextHolder armazena o SecurityContext por padrão?
Qual é o papel da interface UserDetails no Spring Security?
+22 perguntas de entrevista
Outros temas de entrevista Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging com SLF4J e Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Tratamento de exceções
Bean Validation
Fundamentos do Spring Data JPA
Entidades JPA e relacionamentos
Consultas JPA
Spring Data Repositories
Spring Boot Actuator
Testes unitários com JUnit e Mockito
Testes no Spring Boot
Profiles e Environment
RestTemplate e WebClient
Async e Scheduling
Caching com Spring
Spring WebFlux (Reactive)
Transações do Spring
Autenticação e autorização avançadas
JWT e segurança stateless
OAuth2 e Authorization Server
Spring Boot e Docker
Microservices com Spring
Spring Cloud Config
Otimização de desempenho
GraalVM Native Images
Domine Spring Boot para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis