WebSecurityConfigurerAdapter está depreciada. Como resolver esse problema?
Bom dia, Gleyson
Tudo bem?
Eu estou fazendo o bootcampo do Santander 2024 - Backend com Java e estou fazendo as aulas do curso "Adicionando Segurança a uma API REST com Spring Security":
- Autenticação Simples
- JWT-JSON Web Token - Parte 3
No vídeo você colocou o WebSecurityConfigurerAdapter nas classes: WebSecurityConfig da aula JWT-JSON Web Token - Parte 3
WebSecurityConfig da Autenticação Simples:
Você teria alguma solução para substituir o WebSecurityConfigurerAdapter?
Desde já...Agradeço pela atenção.
Atenciosamente,
Marcos
Olá @marcosfshirafuchi,
Eu tive o mesmo problema, consegui resolver após ler neste blog a respeito da substituição do WebSecurityConfigurerAdapter (na parte que trata sobre Autenticação em Memória).
A classe WebSecurityConfig deixar de extender do WebSecurityConfigurerAdapter e, o método configure, que seria sobrescrito, precisa ser removido e substituido pelo método filterChain, anotado como um Bean e que, retorna um SecurityFilterChain, no mais é necessário fazer as devidas adaptações neste método.
Segue a imagem de como ficou:
'NoOpPasswordEncoder.getInstance()' (linha 27) consta como 'deprecated' por se tratar de um método que armazena as senhas sem nenhum tipo de criptografia, o que é desencorajado em um ambiente de produção, porém, como se trata de um estudo, não achei necessário alterar. Ainda mais que as aulas seguintes do Bootcamp tratam justamente da utilização de criptografia no armazenamento das senhas.
Olá @marcosfshirafuchi, Eu tive o mesmo problema, consegui resolver após ler neste blog a respeito da substituição do
WebSecurityConfigurerAdapter(na parte que trata sobre Autenticação em Memória).A classe
WebSecurityConfigdeixar de extender doWebSecurityConfigurerAdaptere, o método configure, que seria sobrescrito, precisa ser removido e substituido pelo métodofilterChain, anotado como um Bean e que, retorna umSecurityFilterChain, no mais é necessário fazer as devidas adaptações neste método.Segue a imagem de como ficou:
'NoOpPasswordEncoder.getInstance()' (linha 27) consta como 'deprecated' por se tratar de um método que armazena as senhas sem nenhum tipo de criptografia, o que é desencorajado em um ambiente de produção, porém, como se trata de um estudo, não achei necessário alterar. Ainda mais que as aulas seguintes do Bootcamp tratam justamente da utilização de criptografia no armazenamento das senhas.
Eu estava com o mesmo problema, mas eu fiquei na dúvida na linha 23, SecurityDatabaseService é uma classe criada nas linhas anteriores ou ela vem de alguma dependencia em especifico?
Então no meu ficou assim... E deu certo!
