Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Autenticando o cliente via Spring Security (muitas idas ao banco de dados ? esse comportamento é correto?

Uma das ditas vantagens do token jwt seria justamente fazer a consulta ao usuário no banco de dados e esse token já conter toda informações do usuário , permissões, etc... e não ter que ficar indo ao banco a toda hora, mas oque o filtro de autenticação faz é justamento o contrário já que a cada request ele paga o usuario id e faz a consulta, o jjwt não permite colocar logo toda a informação do usuário no token para evitar esse bando de consultas?

2 respostas
solução

Oi Ricardo,

Dentro do token é possível armazenar mais informações. Por exemplo:

...
.setSubject(logado.getId().toString())
.claim("nome", logado.getNome())
.claim("email", logado.getEmail())
...

Com isso você pode armazenar as informações que precisará posteriormente, para não precisar buscar do banco de dados a cada request.

Bons estudos!

Rodrigo, obrigado pela resposta, observei que no fórum tem outras pessoas com essa mesma dúvida, no lugar de passar informação por informação na claims agente poderia logo passar um objeto javascript(json) representando o usuário e as permissões, e no filtro era só converter esse objeto json em usuário com jackson ou objectmapper, bom é só uma sugestão para uma nota ou observação, porque muita gente deve ter essa dúvida porque acredito que a vantagem do jwt ẃ justamente não ter que ir ao banco de dados toda hora, claro sempre lembrando a todo mundo que se o objeto inserido no token for muito grade o tráfego aumenta