Estava com dificuldades em implementar spring security em um projeto pessoal. Mas com o seu vídeo consegui implementar, muito obrigada pelo vídeo! +1 inscrita no seu canal
@neckeltech10 ай бұрын
Grande Amanda, obrigado pelo feedback, fico feliz por ter ajudado! 🙂
@viniciusdelfin2806 Жыл бұрын
melhor video de spring security que eu vi, e eu vi vários! parabéns, continue com os vídeos. +1 inscrito
@neckeltech Жыл бұрын
Grande Vinícius! Fico muito feliz com seu feedback! Vai ter muitos vídeos assim esse ano... 🤩
@DiegoFreittasfotografo Жыл бұрын
Parabéns, linguagem simples e direta. Isso aí.
@neckeltech Жыл бұрын
Top Diego, obrigado pelo feedback! 🙂
@hamiltonmbrito Жыл бұрын
Não conhecia seu canal, já me inscrevi, sua didática é ótima, muito bacana esse exemplo de projeto, parabéns pelo trabalho, aguardo mais vídeos... muito obrigado.
@neckeltech Жыл бұрын
Grande Hamilton! Obrigado pelo feedback! 😍 Vou continuar sim postando, buscando sempre me fazer compreendido, esse é o sonho... hehe
@app2028 Жыл бұрын
Rapaz impressionante muito mega top, estou impressionado com tanta qualidade código bem enquadrado na tela tu é fera mesmo obrigado pelo o conteúdo de qualidade😆😆😆
@neckeltech Жыл бұрын
Grande Sebastião! Obrigado pelo seu feedback, fico feliz em saber que te ajudei de alguma forma!🤩 Parabéns por sua jornada nos estudos e conte comigo! 🚀🚀
@marciomaia6728 Жыл бұрын
O melhor video sobre o spring security, passo a passo, sensacional, seu canal esta aqui como minha mentoria sobre java, parabens
@neckeltech Жыл бұрын
Grande Marcio! Fico muito feliz com seu feedback! Esse ano terá grandes vídeos e espero ajudar ainda mais! 🤩
@lemueldesousa3710 Жыл бұрын
mestre, tu me fez entender muita coisa nesse simples exemplo. Eu não estava conseguindo entender muito bem sobre AuthorizationPrincipal mas agora estou bem mais esclarecido. Continue com esse trabalho de qualidade.
@neckeltech Жыл бұрын
Grande Lemuel! Muito obrigado pelo seu feedback, fico feliz em saber que o video te ajudou! ☺
@mateusfonseca988 Жыл бұрын
Meu amigo, por gentileza, continue com os videos! Achei muito bacana e simples os passo a passos!
@neckeltech Жыл бұрын
Grande Mateus, obrigado pelo seu feedback, fico muito feliz em saber que estou ajudando! 🤩
@Alphacodebrasil Жыл бұрын
Estou vendo a aula, só bugando um pouco com a estrutura de pacotes realizada, Conteúdo muito necessário, obrigado professor.
@neckeltech Жыл бұрын
Showw Roberto, fico feliz que tenha gostado! Geralmente em vídeo aula os professores separam os pacotes por controllers, services e repository, mas na prática os projetos, na maioria das vezes são criados conforme o domínio. Exemplo, no domínio produto tem controller, service e repository assim como no usuário e outros domínios, isso vem da arquitetura limpa. 🙂
@pierrialexander6 ай бұрын
Muito bom, parabéns! Continue criando conteúdos!
@lecklis Жыл бұрын
Vídeo muito bom, estava com bastante problema com o spring security em meu projeto de TCC e esse vídeo me ajudou muito e até fez parecer fácil, parabéns pela didática e muito sucesso!🎉😅
@lecklis Жыл бұрын
Fica a sugestão de video conectando com um front end com angular ou react e também algum vídeo sobre tokens JWT...
@neckeltech Жыл бұрын
Showw @lecklis, fico feliz em saber que te ajudou! 🤩
@neckeltech Жыл бұрын
Vou incluir sim na lista um projeto utilizando JWT para ser um dos próximos videos... 🤩
@andersonbenevak5884 Жыл бұрын
Obrigado pelo conteúdo..ajuda muito...
@neckeltech Жыл бұрын
Obrigado pelo seu feedback! Fico feliz em saber que o conteúdo está sendo útil para você. Continue acompanhando e qualquer dúvida, é só me perguntar. 😊
@rafaelachinelatocirelli800710 ай бұрын
ótimo vídeo!!
@neckeltech10 ай бұрын
Obrigado Rafaela! 😊
@fenryr6844 Жыл бұрын
Muito boa aula professor, vlw , fiquei com um pouco de dificuldade pra entender os metodos da classe CustomBasicAthentication apenas
@neckeltech Жыл бұрын
Showw @fenryr6844, fico feliz que gostou do conteúdo! Se puder comentar aqui quais métodos você ficou com dúvida, eu te respondo. 🙂
@fenryr6844 Жыл бұрын
@@neckeltech Classe doFilterInternal, não entendi , do que ela se trata ? qual e a função dela professor
@neckeltech Жыл бұрын
Showw@@fenryr6844 , a Classe CustomBasicAuthenticationFilter extende da interface OncePerRequestFilter, que essa classe tem o método doFilterInternal que exige a implmentação, por isso que em cima do método tem a notação @Override. O código implementado no método doFilterInternal é executado apenas uma vez por requisição no sistema, onde utilizamos para validar a autenticação, consegui me fazer claro? Qualquer coisa, pode ir me perguntando.
@fenryr6844 Жыл бұрын
@@neckeltech ah sim, entendi
@joaopedroo.p4560 Жыл бұрын
Olá! Excelente aula. Uma dúvida, se eu quisesse usar JWT ao invés do basic, eu poderia usar a mesma lógica da classe CustomBasicAuthenticationFilter ?
@neckeltech Жыл бұрын
Grande João, exatamente, você pode criar sua classe CustomFilter e inserir a lógica do JWT, por que no final é ela que intercepta todas as chamadas e autoriza ou não a requisição. Se tiver mais alguma pergunta, fique à vontade! 🤩
@zieryreis666326 күн бұрын
22:57 após o primeiro post, a tabela users_roles fica vazia aqui pra mim, alguém mais passou por isso?
@mateusfonseca988 Жыл бұрын
Vi alguns videos de tutores fazerndo o metodo new BCryptPasswordEncoder dentro da classe config...
@neckeltech Жыл бұрын
É possível também... Nesse vídeo eu fiz uma classe separada para isolar a autenticação do tipo basic, por isso ficou ali
@mateusfonseca988 Жыл бұрын
Esse modelo de separação dos pacotes (tudo que é de user fica no pacote user) eu gostei.
@neckeltech Жыл бұрын
Isso aí, imagine que você tem 30 classes que é domínio e cada uma delas tem um service, serviceImpl e repository... Seria muito difícil visualizar tudo isso se fosse diferente...
@frajola_br11 ай бұрын
e se eu quisesse fazer com que o usuário, possa acessar a rota de obter os produtos, sem necessidade de autenticação?
@neckeltech11 ай бұрын
Grande Eliezer, tudo bem? Existe varias formas de fazer isso, a mais fácil é configurar dentro do WebSecurityConfig, pra frente vou trazer mais um vídeo falando sobre. 🙂
@frajola_br11 ай бұрын
@@neckeltech obg, eu achei lá mesmo, foi só adicionar um permit() pra rota desejada
@gabrielsaid5782 Жыл бұрын
Poderia fazer uma versao utilizando o keycloak, consumindo a api do keycloak pra criar usuários e conforme for criando, fazer o controle de um cadastro simples conforme a role de cada um
@neckeltech Жыл бұрын
Perfeito Gabriel, gostei da idéia! 😀 Entra na lista de sugestões! 🎯 Obrigado por compartilhar!
@MyFriendDev4 ай бұрын
se tem uma coisa que me enrrola é o Spring Security xD vou caçar um livro focado só nele pq o bixim complicado rs
@danielandrade33899 ай бұрын
Olá Neckel, antes agradeço pelo material, muito bom esse projeto para adquirir aprendizado. Mas eu estou tendo problema de autorização, erro 403, nem a página de login do Spring Security abre, eu cheguei a copiar o seu projeto no github, e ele está rodando, mas gera esse erro. O engraçado é que a configuração habilita o /user/**. Duas pessoas tiveram os mesmo problemas que eu li nos comentários, ambos conseguiram resolver, tentei o mesmo, mas não obtive sucesso. Debuggei o código e não entra na condição do filtro "if(isBasicAuthentication(request))" para verificar se a requisição contém autenticação básica no cabeçalho Authorization. Já coloquei até na versão do seu spring boot, mas creio que isso não seja o motivo do erro, já limpei a cache da minha IDE (VS Code), enfim, tem algo que eu poderia fazer para resolver esse problema, alguma dica. O certo é que não tinha que dar erro, já que o seu projeto rodou, enfim te agradeço se puder me ajudar. Vlw
@neckeltech9 ай бұрын
Olá Daniel, tudo bem? Fico feliz por você estar buscando crescer em conhecimento! 🙂 Faz o seguinte, pode ser algo relacionado ao banco e os registros. Eu criei esse video falando sobre o Flyway onde utilizei o mesmo projeto do Spring Security, com ele é bem mais facil colocar rodar e criar banco com os registros. kzbin.info/www/bejne/rXTMYpiflqppg8U Aí posta aqui o resultado, que vou tentar te ajudar.
@danielandrade33899 ай бұрын
@@neckeltech Olá Neckel, valeu pelo feedback. Realmente era relacionado ao banco e aos registros. Eu pensei criar diretamente no banco de dados👍foi nesse momento que reparei que você criou as autorizações (permissões) diretamente no banco e eu tentava fazer no json, talvez fosse por isso que estava gerando erro 403. Por exemplo, eu tentei criar um role ADMIN, além das suas permissões, como por exemplo, PRODUCT_SELECT, mas dava erro de autenticação (403), você apenas atribuía o id do role no json (postman) e não o name. Enfim, não tinha entendido a lógica. Pergunta: Mas no seu exemplo de projeto é possível criar outro tipo de role pelo json ou somente pelo banco? Pois se é possível criar outros tipos de role diretamente pelo json, então eu ainda preciso verificar o que está dando errado. Valeu pelo projeto foi bem legal e serviu como aprendizado 👍ganhou mais um inscrito
@elenildosantos8883 ай бұрын
Como faço pra obter o usuário logado?
@danrleybrasil Жыл бұрын
Interessante, então Neckel, trabalhando com user/password e com as roles eu não precisaria de jwt para realizar as operações no sistema? Neste sentido eu precisaria apenas ter a permissão para o meu usuário no banco de dados e aí eu trabalho com as manipulações de acordo com o "nível de permissão"? Por exemplo, criei meu sistema tenho um user "root" que tem permissão de criar usuários, e aí cria-se um fluxo de criação baseado em permissões, etc
@neckeltech Жыл бұрын
Grande Danrley! O Jwt é muito mais interessante que o basic authentication, vou gravar um video implementando ele... O mais interessante do que foi implementado e é a customização do filter por requisição, nela é validado as permissões de uma forma muito simples. 🙂
@Fernando-xc3fj11 ай бұрын
apos criar o usuario quando vc faz uma requisição com post /product no postman vc coloca alguma coisa na basic auth ? eu clonei o seu repositorio e configurei o banco de dados e coloquei um usuario e senha na basic auth e aparece 401 unathourized
@neckeltech11 ай бұрын
Grande Fernando, debuga a classe CustomBasicAuthenticationFilter, nela você vai conseguir verificar se está chegando usuário e senha e se está montando a autenticação corretamente.
@rkratz Жыл бұрын
Engraçado. Fiz junto e coloco um usuário e senha e dá retorno 403 Forbidden. Depois subi seu cógio em outra projeto do GIT só trocando a senha do banco e contínua dando 403 Forbidden. Se eu troco o usuário a senha eé mostra que o usuário é invalido ou a senha. Não entendi
@neckeltech Жыл бұрын
Grande Ricardo! Faz o seguinte, pega o projeto no github e compara com o seu. Pode ter um detalhe diferente... Você também pode debugar para verificar se encontra o user e as roles... Se puder deixar público seu projeto, comenta com o link que aí eu verifico...
@matheusfel8216 Жыл бұрын
@@neckeltech ainda agora tive o erro parecido, eu resolvi quando removi o "/**" la na security config, acho que isso se deve ao spring 3.1.5 ou superior ter alterado umas syntax. Eu to usando a 3.1.7 por exemplo
@mateusfonseca988 Жыл бұрын
Me tira uma dúvida, dentro da classe de config, eu posso substituir essa classe criada "customAuthenticationFilter" por "UsernamePasswordAuthenticationFilter" e ai nao precisarei criar toda a classe na mao, certo?
@neckeltech Жыл бұрын
A ideia de criar uma classe custom com código feito na mão é para você ter controle total da autenticação e autorização das requisições... Não seria só alterar para UsernamePassword... Mas é possível sim utilizar o que tem pronto do Sprint Security e diminuir código, mas aí perde um pouco do controle, como comentei...
@mateusfonseca988 Жыл бұрын
@@neckeltech é que estou começando agora no spring security, e me perco nesse monte de classes, queria implementar algo básico (usuario e senha) o mais simples possivel e depois ir subindo o nível rsrs
@neckeltech Жыл бұрын
@@mateusfonseca988 Vai por mim nesse formato é possível entender todas as etapas da autenticação e autorização... Pode ir perguntando que quando puder te responder te retorno por aqui 🙂
@viniciusjustino1900 Жыл бұрын
usando esses padrões mais novos de security, seguindo tudo certinho ainda recebo 401 da até raiva
@neckeltech Жыл бұрын
Grande Vinícius, se for um projeto de estudo e se puder subir no github eu posso dar uma olhada para você. 🎯👊