Configuração
Do comportamento padrão a uma cadeia de filtros que você controla.
Configuração básica
Adicione uma única dependência a um projeto Spring Boot e sua aplicação se torna inacessível. Todas as URLs exigem autenticação, um formulário de login aparece e uma senha aleatória é exibida no console na inicialização. Esse comportamento surpreende, mas traduz uma decisão de design defensável: o Spring Security parte do princípio de que tudo está fechado e pede que você abra explicitamente o que precisa ser aberto.
É o inverso da abordagem ingênua, em que se protegem as páginas sensíveis uma a uma. Essa abordagem sempre falha do mesmo jeito: no dia em que alguém adiciona um controller de administração sem pensar em segurança, a URL fica pública. Com uma posição padrão fechada, o esquecimento produz um 401 constrangedor no ambiente de homologação, e não um vazamento de dados em produção.
Esta lição leva você do comportamento padrão a uma configuração escrita por você. Você vai declarar um bean SecurityFilterChain, decidir quais URLs são públicas, conectar uma página de login própria e um logout limpo. Você verá, sobretudo, os dois erros que mais custam tempo: uma regra de autorização colocada em um ponto onde nunca será alcançada e uma página de login protegida pela própria regra que ela deveria ajudar a satisfazer.
Comentários
Os comentários são alimentados pelo GitHub Discussions
Conecte-se com o GitHub para participar da discussão