Laravel 8 Authorization - Aplicando regras de acesso (ACL) com Gate e AdminLTE v3

Поделиться
HTML-код
  • Опубликовано: 22 окт 2024

Комментарии • 60

  • @thales-barbosa-bento
    @thales-barbosa-bento  Год назад +3

    Olá, gostaria de conhecer mais sobre mim e meu trabalho?
    Acesse minha pagina: thalesbarbosab.github.io/me/
    Estou à disposição para apoiar seu projeto como Freelancer.
    Aguardo seu contato! Um abraço.

  • @rimas4e20
    @rimas4e20 3 года назад +4

    Mano muito bom seu conteudo, me ajudou demais.
    De todos os lugares que eu tinha visto de Authorization o seu foi o que melhor explicou.

    • @thales-barbosa-bento
      @thales-barbosa-bento  3 года назад +1

      Obrigado Kleber, fico feliz em ter te ajudado. Deus te abençoe

  • @webkovalski
    @webkovalski 2 года назад +1

    Caraca, muito top seus conteúdos! Crie mais vídeos como esse, criando projetos com esse ADMIN LTE, CRUDs e falando mais sobre esse admin, show de bola! Meus parabéns! Estou testando esse admin no Laravel 9 e está rodando perfeitamente.

  • @comercialhcp
    @comercialhcp Год назад +1

    Parabéns, muito bom o conteúdo

  • @brunoalonso4069
    @brunoalonso4069 Год назад +1

    Opa, gostei muito da explicação no vídeo, foi muito esclarecedor. Fiquei intrigado com o conceito de "roles" que você mencionou, especialmente em relação ao cadastro de usuários. Seria possível escolher quais páginas um usuário terá acesso com base nas roles cadastradas no banco de dados? Seria ótimo se você pudesse fazer um vídeo detalhado sobre esse assunto, explicando mais sobre como funciona. Tenho certeza de que muitas pessoas também estão curiosas e se beneficiariam com essas informações. Parabéns pelo conteúdo!

    • @thales-barbosa-bento
      @thales-barbosa-bento  Год назад

      Boa sugestão Bruno. Vou prepara em breve. Seria ótimo mesmo. Ja desenvolvi muitos sistemas com permissões de acesso.

  • @SILVARNEY1
    @SILVARNEY1 2 года назад +1

    Parabéns, Thales Bento. Ganhou mais um inscrito, conteúdo muito bom e de fácil entendimento.

  • @Di_fernandes
    @Di_fernandes 9 месяцев назад +1

    Você é fera mano! Ta me ajudando muito!

  • @Everton.Lp9
    @Everton.Lp9 2 года назад +1

    Outro video excelente! 👏

  • @ricardonogueira8980
    @ricardonogueira8980 3 года назад +1

    Muito show. Gostei, aprovei e laikei! 👌

  • @carolinesantos7073
    @carolinesantos7073 3 года назад +1

    Vídeo muito bom! Eu poderia colocar por exemplo duas permissões para o mesmo conteúdo?

    • @thales-barbosa-bento
      @thales-barbosa-bento  3 года назад +1

      Ola Caroline. Pode sim, basta criar habilidades diferentes que seu usuario tem permissão. Nesta sessão da doc mostra bem detalhado como criar as habilidades: laravel.com/docs/8.x/authorization#writing-gates

  • @marcosrobertoartimundo349
    @marcosrobertoartimundo349 3 года назад +1

    Parabéns pelo seu conteúdo...ja bati cabeça em vários conteudos e não acha nada relacionado ao AdminLTE. A minha duvida é como eu posso fazer para carregar os formulários e views na tela principal. Por exemplo se eu clico em algum link do menu ele abre a tela que eu selecionei para ser carregada.

    • @thales-barbosa-bento
      @thales-barbosa-bento  3 года назад +1

      Obrigado Marcos. Existe um arquivo de configuração do adminlte na pasta config/adminlte.php na sessão menu, voce consegue definir os menusz depois da uma olhada.

    • @marcosrobertoartimundo349
      @marcosrobertoartimundo349 3 года назад +1

      @@thales-barbosa-bento obrigado pela dica. Essa parte eu achei bem tranquilo. Mais eu digo no sentido de ao clicar no menu ele abre o formulário para cadastro de Dados. Entendi.

  • @bulfaitelo
    @bulfaitelo 2 года назад +1

    Parabéns pelo vídeo! Qual recomendação que você me faz para criar as regras básicas de crud ? por exemplo eu já fiz elas dentro das blades, porem eu não sei se faço as regras dentro dos controles ou nas rotas poderia me dar alguma dica?

    • @thales-barbosa-bento
      @thales-barbosa-bento  2 года назад +1

      Ola Thiago. Obrigado pelo deu comentário. Eu desenvolvi uma aplicação que possuía permissões do jeito que voce esta pensando. Imagina no modulo de clientes como exemplo, criei uma permissao que chama view_customers ela fica dentro do controller de clientes no metodo construtor, faco a verificação via middleware, pois caso o usuario tente acessar qualquer ação dentro deste controller nao permite caso não tenha essa função. Para criação coloco um botao inserir na view index e uso o @can para verificar o usuário tem essa permissão "create_customers" e coloco tbm essa permissão na acao do controller create e store, para o edit, faço o mesmo com o @can no blade index so que no botao editar com a permissão "edit_customers" e nas ações do controllet edit e update. Para remover uma permissao "delete_customers" com um @can no blade index botão excluir e na acao do controller destroy. Para um crud padrao faço dessa forma, voce tem a liberdade de criar tbm permissões especiais variando de cada módulo de sua aplicação. Deus te abençoe.

    • @thales-barbosa-bento
      @thales-barbosa-bento  2 года назад +1

      Se você quser correr um pouco dos controllers pode persisitir as permissões no form request, assim vc consegue abranger toda a aplicação. Tem muitas formas de se fazer isso, legal do framework laravel que esta bem aberto para nossa necessidade em determinado momento. Da uma olhada na doc do gate, deixei no comentário do video. Grande abraço

    • @bulfaitelo
      @bulfaitelo 2 года назад +1

      @@thales-barbosa-bento Muito obrigado pelos esclarecimentos! nos blades eu realmente ja fiz algo parecido seguindo um padrão: create_users, update_users, delete_users ou show_users. mas eu estava preocupado com algum usuário maldoso inicialmente eu tentei fazer esses bloqueios dentro das rotas com os midlewares porem desisti estava ficando muito bagunçado. acho que hoje eu vou fazer isso dentro dos controlles porque assim da pra fazer além dos "can" outros filtros mais finos.

    • @thales-barbosa-bento
      @thales-barbosa-bento  2 года назад

      @@bulfaitelo Muito bom, quanto mais reutilizavel nosso código melhor a manutenção. Parabéns.

  • @eduardogarcia225
    @eduardogarcia225 2 года назад +1

    Parabéns Muito bom

  • @777samuel
    @777samuel 3 года назад +1

    Me ajudou muito! Valeu!!!

  • @marcelomirandasilva
    @marcelomirandasilva 3 года назад +1

    Adorei!

  • @joserafael7856
    @joserafael7856 9 месяцев назад +1

    sei que nao existe bala de prata, e que as coisas dependem do contexto.
    pore, todos projetos que trabalhei até agora (poucos) usavam esquema de relacionamento para status e roles.
    você usa enum, e eu to com essa duvida faz uma semana:
    Psso substituir o esquema de relacionamento para enum, sem problemas? qual o maximo de opções do enum seria "ideal"?

    • @thales-barbosa-bento
      @thales-barbosa-bento  9 месяцев назад +1

      Depende muito do caso, os enums sao uma ótima opção para relacionamentos pequenos e imutável, como o exemplo que você deu mesmo, status (ativo, inativo, aguardando aprovação, etc). No caso de Cargos, seria uma boa ser um relacionamento pois pode ser que estes cargos cresçam lá, e você queira deixar o cadastro de cargos para o usuário. Ou nao tbm se estes cargos forem fixos depende do tamanho do sistema. Eu sempre uso as duas abordagens

  • @rafaelbrito5574
    @rafaelbrito5574 2 года назад +1

    muito bom, alguma dica para usar o full calendar junto com o admlte? tive um pouco de problema pra fazer rodar...

    • @thales-barbosa-bento
      @thales-barbosa-bento  2 года назад +1

      Opa blz? Ainda nao mexi com esse plugin. Uma boa dica de sugestão para novos videos. Obrigado

  • @GabrielC-x9u
    @GabrielC-x9u 5 месяцев назад

    Por uma questão de segurança, o uso do "@can()" é seguro? minha dúvida é: No caso de uma regra que retorne o valor "false" (no exemplo do vídeo, um usuário não administrador), O agente cliente (navegador) recebe o conteúdo e apenas não o exibe, sendo a última fronteira de exibição de informações, ou pela linguagem PHP rodar no servidor ele já não o envia ao cliente excluindo as variáveis que seriam acessadas no @can() positivo ?

    • @thales-barbosa-bento
      @thales-barbosa-bento  5 месяцев назад

      Boa sua questão. Mas te respondo que é seguro pelo fato do Php ser uma linguagem de execução do lado do servidor, em momento algum essa verificação de segurança é feita do lado do cliente. Voce pode usar o cannot para trazer o resultado falso da verificação de autorização, assim voce podera exibir uma mensagem ou o botão de ação desabilitado.. bons estudos

  • @walney2008
    @walney2008 2 года назад +1

    teria como ensinar criar um crud ,gostaria de um cadastro de clientes por exemplo para entender como deve ser, pode ensinar ?

    • @thales-barbosa-bento
      @thales-barbosa-bento  2 года назад

      Ola Walney. Obrigado pela sua sugestão, vou providenciar para gravar um video explicando em breve. Um grande abraço

  • @DicaseTutoriaisAdenilson
    @DicaseTutoriaisAdenilson 2 года назад

    muito bom o conteúdo do seu canal amigo. excelente explicação. manda seu contato para eu poder tirar umas duvidas para um projeto. se tiver disponibilidade de desenvolver.

    • @thales-barbosa-bento
      @thales-barbosa-bento  Год назад

      Perdão nao vi sua mensagem. Entra em contato comigo por email dev.tbarbosa.bento@gmail.com

  • @thiagooliveira3767
    @thiagooliveira3767 Год назад +1

    Como você fez a parte de autenticação?

    • @thales-barbosa-bento
      @thales-barbosa-bento  Год назад

      Usamos o pacote Laravel UI que esta integrado com o adminlte: laravel.com/docs/7.x/authentication

  • @andersonsouza3996
    @andersonsouza3996 Год назад

    Seria bom explicar como aplicar qualquer template. Por exemplo, um template para pet shop.

    • @thales-barbosa-bento
      @thales-barbosa-bento  Год назад

      Ola, @andersonsouza3996, Obrigado pelo comentário.
      Este template admin lte tem suas particularidades, mas voce a qualquer momento pode verificar as permissões usando os facades do laravel em qualquer lugar da aplicação que voce puder verificar a autenticação do usuário, exemplo: views blade, controllers, etc. Segue a documentação para te ajudar nessa implementação. laravel.com/docs/10.x/authorization#authorizing-actions-using-policies
      Se precisar de mais ajuda entre em contato comigo por email que te ajudo no que puder: dev.tbarbosa.bento@gmail.com
      Um abraço

  • @novocanal7153
    @novocanal7153 10 месяцев назад

    Quando o usuário efetua login no Adminlte3, onde ele verifica a validação?

    • @thales-barbosa-bento
      @thales-barbosa-bento  9 месяцев назад

      Ele utiliza como padrão o pacote Laravel UI, voce pode encontrar as validações dentro dos controllers da pasta Auth, os controllers de auth são extendidos pelos originais, para modificar basta fazer uma sobrecarga nos metodos originais

  • @walney2008
    @walney2008 2 года назад +1

    show, quero aprender criar uma parte administrativa e outra para rodar celular e tablet, sobre api sabe como funciona ? gostaria de aprender emitir NFe e NFCe

    • @thales-barbosa-bento
      @thales-barbosa-bento  2 года назад

      Ola Walney, geralmente deve se trabalhar com integração de api soap entre as sefaz responsável pela emissao desses tipos de documentos, bom entrar no site da sefaz e dar uma olhada na documentação e assim vc consegue aplicar a melhor tecnologia.

    • @walney2008
      @walney2008 2 года назад

      entao sou iniciante em php, li algo sobre o nfephp, mais ainda não sei como funciona seria dificil nos ensinar ? hoje somente uso acbr para emissão, mais queria algo na web

    • @thales-barbosa-bento
      @thales-barbosa-bento  2 года назад

      Ah claro, e porque nunca mexi com essas apis da sefaz, apenas trabalhei como analista de sistemas um tempo atrás.

    • @thales-barbosa-bento
      @thales-barbosa-bento  2 года назад

      Mas obrigado pela sugestão de conteúdo, anotado. Um forte abraço pra você

  • @jasondossantos9797
    @jasondossantos9797 Год назад +1

    Amigo, boa noite. Preciso de sua ajuda, mandei no linkdin. Obrigado!

  • @matheusviera6087
    @matheusviera6087 2 года назад

    Olá queria tirar uma dúvida tem Whatsapp

    • @thales-barbosa-bento
      @thales-barbosa-bento  2 года назад

      Ola Matheus me.envie seus contatos pelo email dev.tbarbosa.bento@ gmail.com

  • @progword4999
    @progword4999 2 года назад

    Onde é Gênero, o correto é Sexo. No mais, tudo beleza.