Curso Angular #64: Usando Guarda de Rotas: CanActivate

  Рет қаралды 48,270

Loiane Groner

Loiane Groner

Күн бұрын

Пікірлер: 86
@RafaelSantos-pq4od
@RafaelSantos-pq4od 6 жыл бұрын
Já da pra usar o comando abaixo do angular cli: ng g guard guards/auth
@DevGiselle
@DevGiselle 2 жыл бұрын
Loiane seu curso é maravilhoso! O material e sua didática são excelentes! Muito obrigada!
@moacir8663
@moacir8663 4 жыл бұрын
Os vídeos #63 e #64 são os meus preferidos!
@boblipe02
@boblipe02 Жыл бұрын
Aulas e Palestras Loiane, Obrigado
@augustocsantan
@augustocsantan 7 ай бұрын
pelo que parece mudou o jeito de fazer agora tem que usar "CanActivateFn" função aqui está um jeito que eu fiz, na documentação do angular 17 tem explicando, e no youtube tem alguns video pelo menos em inglês! Dentro do "auth.guard.ts" export const authGuardGuard: CanActivateFn = (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => { if(inject(AuthService).usuarioEstaAutenticado()){ return true; } inject(Router).navigate(['/login']); return false; }; Dentro do "app-routing.module.ts" const routes: Routes = [ { path: 'cursos', canActivate: [authGuardGuard], loadChildren: () => import('./cursos/cursos.module').then(m => m.CursosModule) }, { path: 'alunos', canActivate: [authGuardGuard], loadChildren: () => import('./alunos/alunos.module').then(m => m.AlunosModule) }, { path: 'login', component: LoginComponent }, { path: 'home', canActivate: [authGuardGuard], component: HomeComponent }, { path: '', redirectTo: 'home', pathMatch: 'full' } ];
@brunohonda848
@brunohonda848 8 жыл бұрын
Eu estava ansioso por outra aula já. Muito bom Loiane, parabéns.
@Lorajobrpro
@Lorajobrpro 4 жыл бұрын
Muito obrigado pelo compartilhamento do conhecimento. Para mim ficou muito claro esse conceito de Guarda de Rota. Obrigado!
@wagnerdossantos466
@wagnerdossantos466 7 жыл бұрын
Excelente aula! Nem em faculdades ensinam dessa forma.
@adsonsouzajesus
@adsonsouzajesus 4 жыл бұрын
Você é 10 Loiane!
2 жыл бұрын
Muito show... parabéns pela didática
@novo5950
@novo5950 4 жыл бұрын
Loiane, Você ensina muito bem, esse conteúdo tem me ajudado bastante.
@nilopolitano
@nilopolitano 7 жыл бұрын
Parabéns Loine pelo excelente trabalho, fiz todas as culas até aqui. Obrigado.
@gabrielsoares7875
@gabrielsoares7875 3 жыл бұрын
Loiane, vc é demais! Muito obrigado!!
@renatobento
@renatobento 9 ай бұрын
Gratidão!
@SannonAragao
@SannonAragao 7 жыл бұрын
Curti muito todas as aulas, excelente curso! Aguardando as próximas aulas! :-)
@IcaroFelix2023
@IcaroFelix2023 3 жыл бұрын
Loiane, vc devia fazer um bootcamp de Angular
@marlonreis2409
@marlonreis2409 7 жыл бұрын
Meu, obrigado mesmo por esse curso, agregou muito na minha vida!
@Lucianosfj
@Lucianosfj 5 жыл бұрын
Excelente está de parabéns! Didática muito boa
@aislan.nadrowski
@aislan.nadrowski Жыл бұрын
Olá pessoal, agora em 2023 usando o Angular 16 encontramos o CanActivate depreciado, no lugar dele entrou o CanActivateFn. Alguém teria uma ideia de como injetar o authService dentro do CanActivateFn tendo em vista que ele não é uma classe? Agradeço desde já!
@aislan.nadrowski
@aislan.nadrowski Жыл бұрын
Pesquisando aqui cheguei na seguinte conclusão (não tome como verdade absoluta pois posso estar errado, mas aqui funcionou): esse novo modo do guarda é chamado de "guarda funcional" e não é mais baseado em classe. Dentro do arquivo de configuração de routing ficou igual (usei o canActivate: [authGuard]). O authService ainda existe (é ele que valida se o usuário é válido) e dentro do guarda gerado pelo comando (ng g g guards/auth) ficou assim: export const authGuard: CanActivateFn = (route, state) => { const auth = inject(AuthService); const router = inject(Router); if (auth.verificaUsuarioAutenticado) { return true; } router.navigate(['/login']); return false; }; Este método verificaUsuarioAutenticado ficou assim dentro do service: get verificaUsuarioAutenticado(): boolean { return this.usuarioAutenticado; }
@loianegroner
@loianegroner Жыл бұрын
É isso mesmo! Muito obrigada por compartilhar a forma atual de fazer isso!
@aislan.nadrowski
@aislan.nadrowski Жыл бұрын
Obrigado pelo feedback Loiane!
@FordCamaroGT
@FordCamaroGT Жыл бұрын
Boa!
@aldosouza7850
@aldosouza7850 10 ай бұрын
Valeu mano, me ajudou kkkkkkk
@jacsonlinux
@jacsonlinux 8 жыл бұрын
Oi Loiane! Você irá falar sobre autenticação com JWT no curso Angular 2 ou já falou do assunto em outros cursos do seu canal?
@buzzifilho
@buzzifilho 7 жыл бұрын
Loiane, parabéns pelo excelente curso. Estou sempre indicando os seus cursos para alguém que queira aprender, pois realmente são muito bons. Estou acompanhando cada vídeo do curso de Angular 2 e 4, e tenho uma sugestão para você: Seria bom se houvesse um pequeno índice do curso, com as palavras-chave abordadas em cada vídeo, pois apesar dos títulos dos vídeos serem bem claros, eles não abrangem tudo o que é falado. Acredito esse índice com palavras-chave ajude a reencontrar um vídeo com explicações importantes e ajude também que seu curso seja encontrado quando essas palavras forem pesquisadas. Eu farei esse índice para mim de qualquer forma, qualquer coisa pode entrar em contato comigo. Obrigado pelo curso! E Parabéns
@pitosauriorex3674
@pitosauriorex3674 5 жыл бұрын
muito boa a aula! eu queria saber como implementar tokens com essa tecnica... tenho um objeto que vem da minha bd e faço a autentificação do jeito que vc ensinou, agora quero guardar a informação para poder recarregar a pagina sem problema. tem algum material explicando isso? desde ja, muito obrigado pela resposta!
@mateusspadari5171
@mateusspadari5171 5 жыл бұрын
Obrigado por mais essa aula incrível !
@01rmartins
@01rmartins 6 жыл бұрын
Sensacional o seu curso, parabéns!
@renancoelho5657
@renancoelho5657 7 жыл бұрын
E pra criar um Guard pra tela de login? Por exemplo: já estou logado, então quando acessar a página de login, me redirecione para a página Home. Precisamos criar um outro arquivo '.guard' pra fazer esse trabalho, ou podemos aproveitar o auth.guard?
@rafaelb.marcilio5550
@rafaelb.marcilio5550 8 жыл бұрын
Oi Loiane, vai ter alguma aula falando sobre resolve para recuperar dados na transição de rotas? Outra dúvida, como faz pra redirecionar o usuário para uma rota padrão caso a url solicitada não senha nenhuma as rotas da aplicação? Se tivesse como dava uns mil joinha!!! Ansioso pelas próximas aulas!! Parabéns!!!
@YuriFontella
@YuriFontella 7 жыл бұрын
Muito bom, valeu por compartilhar tudo isso... no aguardo das próximas aulas. Só duas questões, não achei interessante a ideia de criar um novo componente para mostrar os detalhes, tanto em alunos quanto em cursos. Eu não consigo fazer métodos de "create, show, edit, update e destroy" tudo num só componente? E outra, esses guards... como ficam tudo do lado do cliente, qual a possibilidade de uma "invasão"? Ou mesmo criando esses gurds vou sempre ter que verificar no backend também?
@rodrigostrj
@rodrigostrj 7 жыл бұрын
Ótimo curso! Parabéns!
@FernandoGunther
@FernandoGunther 8 жыл бұрын
Ótima aula, esperando pelas próximas ansiosamente! Uma dúvida: você poderia me dizer uma maneira elegante ou correta pra guardar a rota que a pessoa estava antes de efetuar o login e direcionar pra ela: exemplo: usuário expirou e você estava no meio de uma operação. foi pra tela de login e após isso retornar de onde parou.
@loianegroner
@loianegroner 8 жыл бұрын
oi Fernando, vou mostrar na p'roxima aula!
@flawtista
@flawtista 5 жыл бұрын
Ótima aula!
@antoniofcable
@antoniofcable 7 жыл бұрын
Muito bom. Parabéns
@profcarlosmaximo
@profcarlosmaximo 7 жыл бұрын
Obrigado pelo curso! Muito boa a sua metodologia e seu empenho em disponibilizar um curso completo de angular 2. Você pretende mostrar um exemplo na prática do httpModule? Obrigado.
@loianegroner
@loianegroner 7 жыл бұрын
+Eddu Max obrigada! Sim, vamos ter um módulo somente sobre isso
@profcarlosmaximo
@profcarlosmaximo 7 жыл бұрын
Obrigado!
@LageAfonso
@LageAfonso 7 жыл бұрын
Excelente! Parabéns!
@Halissonskalee
@Halissonskalee 5 жыл бұрын
ótimo parabéns!
@ferreira.weslei
@ferreira.weslei 7 жыл бұрын
Ola Loiane, primeiramente parabéns pelo seu trabalho. Sou novo no angular. Me tire um dúvida como poderia salvar me usuário logado, da forma que eu não perca meu usuário se o navegar for recarregado ? Como se fosse uma sessão em PHP. Obrigado pela atenção.
@rdcastilho
@rdcastilho 3 жыл бұрын
ola... como faço para ter acesso ao material apresentado nas aulas? por favor, se puderem compartilhar. obrigado. parabens pelo curso, esta agregando muito no meu desenvolvimento.
@silenceofcolours
@silenceofcolours 7 жыл бұрын
Olá Loiane, primairamente gostaria de agradecer pelo excelente conteúdo de angular 2. Jà assisti todos em uma semana. Tenho uma dúvida. Sou programador .NET e lá na empresa estamos iniciando um projeto angular 2. Usamos, normalmente, o Visual Studio 2015. A dúvida é se eu consigo instalar o angular-CLI no Visual Studio 2015 ou se só existe compatibilidade com o Visual Studio Code. Obrigado!
@barroslipe
@barroslipe 7 жыл бұрын
Muito bom! parabéns! (y)
@jacsonlinux
@jacsonlinux 8 жыл бұрын
Show! valew Loiane
@TutoDS2014
@TutoDS2014 4 жыл бұрын
É possível usar o guard no HTML para ocultar items?
@marcelologica
@marcelologica 8 жыл бұрын
Parabéns Loiane pelo excelente trabalho. Tenho acompanhado cada aula. Muito bom. Uma pergunta: como você faria para não ser necessário o login novamente caso o usuário desse refresh na página? Já que ele já foi autenticado.
@loianegroner
@loianegroner 8 жыл бұрын
Obrigada! A maneira mais simples seria através de um cookie com uma validade. A api do cookieStore do ng1 não veio para o ng2, mas a comunidade fez uma versão semelhante que pode ser usada: www.npmjs.com/package/angular2-cookie
@leonardonascimento2569
@leonardonascimento2569 8 жыл бұрын
Oi Loiane, parabéns! Então, o localStorage ou o sessionStorage resolveria isto?
@davidsonmichael1987
@davidsonmichael1987 8 жыл бұрын
Excelente trabalho Loiane, tu tinha como bolar depois cursos de: * Jquery * JqueryMobile * MVC
@MarcosPS
@MarcosPS 4 жыл бұрын
Você é demais!
@marcelofranca6943
@marcelofranca6943 5 жыл бұрын
muito bom
@silenceofcolours
@silenceofcolours 7 жыл бұрын
Mais uma questão Loiane. Estou precisando implementar um load spinner e tbém utilizar algum componente para graficos. Por acaso vc conhece algum theme angular 2 que possua estes controles? Obrigado!!
@khyquer
@khyquer Жыл бұрын
Essa parte não consegui fazer funcionar, alguém conseguiu? Parece que a função está depreciada.
@Jvjuino
@Jvjuino 4 жыл бұрын
Só uma coisa. Quando eu do um refresh na pagina, eu ainda continuo logado. Quando eu estou na aba cursos, se eu der um refresh eu não fico logado, o menu não aparece mas eu consigo accesar os meus cursos. Não dá erro mas também não funciona 100% Alguém pode me ajudar com isso? @Loiane Groner
@Lsp1383
@Lsp1383 5 жыл бұрын
Tenho duas dúvidas: como faz para "deslogar". E uma vez logado, como faço para quando atualizar a página ela não volte para a tela de login? Procurei a vídeo-aula que explica mas não encontrei.
@Lsp1383
@Lsp1383 4 жыл бұрын
@Elaine Manoelle obrigado
@fabriciogomesdasilva74
@fabriciogomesdasilva74 2 жыл бұрын
No Angular 14, não consegui funcionar o guarda rotas. Ele continua acessando Cursos e o Home, mas não os Alunos. Alguém mais com esse problema?
@gabrielabiramia
@gabrielabiramia 7 жыл бұрын
Loiane depois deste modulo o curso acaba ? obrigado
@loianegroner
@loianegroner 7 жыл бұрын
+Gabriel Madeira ainda nao. Tem a parte de http e forms ainda
@gabrielabiramia
@gabrielabiramia 7 жыл бұрын
Onde está loiane? Pela playlist ele acaba aqui 😁
@EderLopesZoe
@EderLopesZoe 7 жыл бұрын
ela ainda vai fazer, calma
@loianegroner
@loianegroner 7 жыл бұрын
Tem mais umas 30 aulas pro curso acabar, ainda não postei, estou repondo as aulas desatualizadas! :)
@CesarDevesa
@CesarDevesa 7 жыл бұрын
Tks!!!
7 жыл бұрын
Loiane mais uma vez parabéns! Só uma pergunta, sei que pode vir nas próximas aulas mas... Criei uma rota filha e tudo funcionando lindo, mas se atualizo a tela ele dá o seguinte erro! EXCEPTION: Uncaught (in promise): Error: Cannot find primary outlet to load Vou resolver isso com Guarda de rotas filhas ? pode dar uma luz para eu pesquisar? Obrigado!
@loianegroner
@loianegroner 7 жыл бұрын
oi Tarcisio, esse é um bug do angular-cli. Eles irão corrigir o erro na próxima versão. Precisa sempre reiniciar o server sempre que fizer qualquer alteração. []s
@igorpwn
@igorpwn 5 жыл бұрын
Alguém sabe por que precisamos retornar false mesmo saindo da rota? Ao sair da rota a função já não "morreria"?
@loianegroner
@loianegroner 5 жыл бұрын
O retorno esperado pelo angular é true ou false apenas.
@albuquerque1992
@albuquerque1992 8 жыл бұрын
boa noite, nada ave com a aula de angular, mas queria saber se as suas videos aula de CSS3 com Sass e Compass mesmo sendo antigas é 100% aproveitável ? ou tem alguma coisa de mudado de hoje ????
@thiagomota7225
@thiagomota7225 3 жыл бұрын
Fiz um teste que depois de estar autenticado tento acessar uma rota diretamente pela url, porém sou redirecionado para a página de login. O serviço está anotado com Injectable e o provideIn: 'root'. Mas o que parece é que quando tento acessar um rota pela url o mesmo cria uma nova instância do serivço AuthService, consequentemente tornando o valor de retorno do método usuarioEstaAutenticado() falso. Alguém está com esse problema? Qual medida adotar?
@felipeabreumotta7651
@felipeabreumotta7651 3 жыл бұрын
É o comportamento esperado visto que ainda não estamos usando cookies ecc, quando acessa direto pela barra do navegador é o mesmo que fazer um refresh da pagina, reiniciando a aplicação.
@rafaelyahu
@rafaelyahu 6 жыл бұрын
Tenho uma pequena dúvida, quem souber... após o login minha rota leva para 'painel', pios bem, se eu acessar qualquer outra rota depois de logado como por exemplo 'painel/usuarios', se eu atualizar a página, ele sempre me encaminha para a rota padrão que é 'painel', não importa a rota que eu esteja após o login, ele sempre me leva para a rota 'painel'. Como posso corrigir isso, atualizar a página e permanecer na mesma ?
@loianegroner
@loianegroner 6 жыл бұрын
Quando você atualiza a página reseta a informação. Teria que guardar num localstorage por exemplo e fazer uma verificação extra
@rafaelyahu
@rafaelyahu 6 жыл бұрын
@@loianegroner tipo o token de quem logou?
@loianegroner
@loianegroner 6 жыл бұрын
Sim.
@joaoantunesguimaraes
@joaoantunesguimaraes 3 жыл бұрын
No angular 13 não consegui utilizar o Guarda de rota { path: 'cursos', loadChildren: () => import('./cursos/cursos.module') .then(module => module.CursosModule ) }, não consegui colocar o CanActivate: [AuthGuard] com esta sintaxe
@kayketorres3589
@kayketorres3589 2 жыл бұрын
Consegui utilizar com essa sintaxe: (Angular 14) const appRoutes: Routes = [ { path: 'cursos', loadChildren: () => import('./cursos/cursos.module').then( mod => mod.CursosModule), canActivate: [AuthGuard] },
@gabrielabiramia
@gabrielabiramia 7 жыл бұрын
Para mim só aparece ate a aula 64. Vi que tem 3 videos privados. Seriam as aulas restantes?
@loianegroner
@loianegroner 7 жыл бұрын
+Gabriel Madeira regravacao das primeiras aulas
@loianegroner
@loianegroner 7 жыл бұрын
+Gabriel Madeira e o restante das aulas até março/abril
@gabrielabiramia
@gabrielabiramia 7 жыл бұрын
As aulas de form e http que vc mencionou eu não encontrei. :-(
@regismatos
@regismatos 7 жыл бұрын
Show
@MatheusSilva-gx8sj
@MatheusSilva-gx8sj 5 жыл бұрын
ótima aula! excelente!
Curso Angular #65: Usando Guarda de Rotas: CanActivateChild
18:30
Loiane Groner
Рет қаралды 26 М.
She made herself an ear of corn from his marmalade candies🌽🌽🌽
00:38
Valja & Maxim Family
Рет қаралды 18 МЛН
How Strong Is Tape?
00:24
Stokes Twins
Рет қаралды 96 МЛН
Enceinte et en Bazard: Les Chroniques du Nettoyage ! 🚽✨
00:21
Two More French
Рет қаралды 42 МЛН
We Attempted The Impossible 😱
00:54
Topper Guild
Рет қаралды 56 МЛН
Functional Guards in Angular
2:24
Tech Vibes
Рет қаралды 6 М.
Criando rotas de navegação em SPA [ANGULAR]
18:45
Reprogramando
Рет қаралды 1,2 М.
How to structure your Angular apps like a Googler
10:58
Joshua Morony
Рет қаралды 89 М.
So You Think You Know Git - FOSDEM 2024
47:00
GitButler
Рет қаралды 1,3 МЛН
Curso Angular #61: Rotas Filhas: desenvolvendo as telas
18:52
Loiane Groner
Рет қаралды 30 М.
Angular Guards | Angular Auth Guard | Angular Canactivate
11:27
Monsterlessons Academy
Рет қаралды 24 М.
Curso Angular #51: Rotas: RouterLink: definindo rotas no template
5:41
Curso Angular 9 #14 Criando um FormGroup
11:36
Michelli Brito
Рет қаралды 13 М.
She made herself an ear of corn from his marmalade candies🌽🌽🌽
00:38
Valja & Maxim Family
Рет қаралды 18 МЛН