dio-springboot icon indicating copy to clipboard operation
dio-springboot copied to clipboard

WebSecurityConfigurerAdapter está depreciada. Como resolver esse problema?

Open marcosfshirafuchi opened this issue 1 year ago • 3 comments

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

image

WebSecurityConfig da Autenticação Simples:

image

Você teria alguma solução para substituir o WebSecurityConfigurerAdapter?

Desde já...Agradeço pela atenção.

Atenciosamente,

Marcos

marcosfshirafuchi avatar Jun 25 '24 12:06 marcosfshirafuchi

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: image

'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.

QziuL avatar Jun 26 '24 02:06 QziuL

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: image

'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?

mattheus2403 avatar Jul 29 '24 05:07 mattheus2403

Então no meu ficou assim... E deu certo! 1Screenshot from 2024-08-23 13-56-00

xumackr avatar Aug 23 '24 16:08 xumackr