Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

STATEFUL X STATELESS

Boa tarde Professor Rodrigo

Pelo que entendi, se a aplicação tiver um formulário de login mesmo que NÃO seja o formulário de login do Spring Security, a aplicação tem que usar o processo de autenticação STATEFUL. Estou certo?

E caso seja uma aplicação apenas API Rest usa-se o processo de autenticação STATELESS. Correto?

Att. Marcos Vizine

2 respostas
solução!

Olá, Marcos!

Você está correto em partes. A escolha entre autenticação STATEFUL e STATELESS não depende exatamente de ter ou não um formulário de login, mas sim de como você deseja que a sessão do usuário seja gerenciada.

Na autenticação STATEFUL, cada usuário tem uma sessão que é armazenada no servidor após o login. Isso significa que para cada requisição subsequente, o servidor precisa verificar a sessão do usuário para autenticá-lo. Isso é comumente visto em aplicações web tradicionais, onde o servidor renderiza as páginas.

Por outro lado, na autenticação STATELESS, não há sessão armazenada no servidor. Em vez disso, o usuário é autenticado a cada requisição, geralmente através de tokens, que são enviados junto à requisição. Isso é muito comum em APIs REST, onde o servidor não mantém o estado entre as requisições.

Portanto, se você tem um formulário de login, você pode usar tanto a autenticação STATEFUL quanto a STATELESS. A diferença é que, na STATEFUL, após o login, o servidor cria uma sessão para o usuário e a usa para autenticar as requisições subsequentes. Enquanto na STATELESS, após o login, o servidor retorna um token para o cliente e o cliente deve enviar este token em cada requisição subsequente para ser autenticado.

No contexto do curso Spring Boot, a escolha por autenticação STATELESS se dá pelo fato de estarmos trabalhando com uma API REST. Como a API REST é stateless por natureza (ou seja, cada requisição é independente e não depende de estados anteriores), faz sentido usar a autenticação STATELESS.

Espero ter ajudado e bons estudos!

Obrigado Matheus