No video

SaaS multi-tenant com permissões por cargos (RBAC)

Autorização é uma parte muito importante pra diversos tipos de aplicações. O RBAC (Role-Based Access Control) é uma estratégia de controles de acesso baseada em cargos e foi ideal para o projeto novo que eu adicionei recentemente na formação Node.js, lá dentro da plataforma da Rocketseat.
Aqui eu te mostro um pouco como funciona o RBAC especificamente nesse caso, dentro de um código back-end de um SaaS multi-tenant.
-----
Conecte-se a 500mil devs e avance para o próximo nível com a nossa plataforma: rocketseat.com.br/
Cadastre-se na nossa plataforma: app.rocketseat.com.br/signup
Junte-se a mais de 392mil devs em nossa comunidade no Discord: / discord
Acompanhe a Rocketseat nas redes sociais:
Twitter: @rocketseat
Facebook: @rocketseat
Instagram: @rocketseat

Пікірлер: 50

  • @FredBCavalheiro
    @FredBCavalheiro3 ай бұрын

    Esse projeto ta animal, sem dúvida farei esse curso.

  • @matheusserafim758
    @matheusserafim7582 ай бұрын

    as aulas estão muito boas, só estou no aguardo das aulas do nextjs deste Saas

  • @Hugo.Digital
    @Hugo.Digital3 ай бұрын

    Isso é legal, mas eu recomendo uso do Keycloak ou alguma ferramente do tipo. Escovar bit com todo esse desenvolvimento é contraproducente. Melhor focar no negócio.

  • @gilbertoj.3507

    @gilbertoj.3507

    2 ай бұрын

    cuspiu fatos

  • @crsmv1742

    @crsmv1742

    2 ай бұрын

    Realmente o uso do keycloak facilita demais, principalmente quando entra na parte de user federation. Mas às vezes criar um do "zero" é bom para entender como funciona pelo menos o básico, muita gente não sabe nem a diferença de autenticação/autorização.

  • @DevN0T
    @DevN0T2 ай бұрын

    Não uso js, nem ts, mas fiz algo parecido no meu projeto em spring, só que no caso lá também tenho além do cargo,os cargos são criado dentro da aplicação pelo adm e tenho permissões adicionais para aquele usuario naquele tenant, pra caso o admin daquele tenant não queira criar um cargo a mais só para adicionar uma permissão

  • @baianofinancas
    @baianofinancas3 ай бұрын

    Estou curtindo muito o curso, e estou no aguardo da parte do frontend. Sobre a parte de billing do prejeto, vai ter alguma regra de negocio de contagem de acessos por mês ou coisa do tipo e integração com algum gateway tipo o stripe?

  • @leonardooliveira4984
    @leonardooliveira49843 ай бұрын

    mano eu fico mt chateado que a parada do front é muito volátil, mal fico atualizado e já tem milhões de coisas novas e diferentes. Qualquer backend baseado em JS é igualzinho também. Eu sou dev fullstack mas precisei focar mais em projetos do back em java, aprendi muito mas agora quando volto a me atualizar em front, inventaram uma maneira nova de programar, apenas isso.

  • @Brendonjkl174

    @Brendonjkl174

    3 ай бұрын

    Isso que é fod4 tenho a mesma visão. Muito volátil.

  • @-lotosuy

    @-lotosuy

    2 ай бұрын

    Por isso que eu deixei o front para lá e foco no back. Se precisar mexer no front vou fazer do bom e velho jeito que sempre atendeu e vida que segue

  • @viniciusvirtuoso7459

    @viniciusvirtuoso7459

    2 ай бұрын

    Cara o problema de vocês é achar que tem que ja saber todas as atualizações que saem, como se as empresas ja estivesse usando. Cara, não! Independente da atualização que surgem como frameworks e bliotecas, as empresas demoram para aderir as novidades, então tenta tirar da tua cabeça que "saiu uma atualização e eu ja tenho que mudar".

  • @wiliamtaesunglee
    @wiliamtaesunglee3 ай бұрын

    Monstro

  • @JoseBarbosaa
    @JoseBarbosaa3 ай бұрын

    Muito bom

  • @k4zludk3
    @k4zludk32 ай бұрын

    brabíssimo, quando são essas lives na twitch que ele analisa essas parada?

  • @shift564
    @shift5642 ай бұрын

    Qual falam que libero, onde exatamente libera o projeto?

  • @verquo
    @verquo2 ай бұрын

    As mensagens no chat são um filme de terror

  • @lucasdeandradeoficial
    @lucasdeandradeoficial3 ай бұрын

    Se passar essa regra de negócio para um middleware estaria fugindo do padrão RBAC?

  • @DanielRios549
    @DanielRios5493 ай бұрын

    3:35 Na verdade mesmo, "RBAC" significa "Role Based Access Control", e não tem a ver com o cargo do usuário dentro da organização, é simplesmente se o usuário tem permissão para fazer algo. Mas enfim, é um parada muito da hora, eu to mexendo com isso exatamente agora e é bem da hora mesmo

  • @Athods

    @Athods

    3 ай бұрын

    Opa mano, acho que você se confundiu. O conceito de RBAC é um usuário possuir de um cargo/grupo que contem um conjunto de permissões e uma das traduções de "Role" é literalmente grupo. Que bom que esteja se aventurando nisso, é algo que realmente pode agregar em um sistema que esteja desenvolvendo. Sucesso!

  • @DanielRios549

    @DanielRios549

    2 ай бұрын

    @@Athods Foi exatamente isso que eu falei. A questão é que essa role não está relacionada ao cargo do usuário na organização, e um usuário pode ter várias roles também, dois usuários podem ter uma mesma role, mas um deles tem outra role que diferencia do outro. Claro que é totalmente customizável, se o dev quiser ele pode atrelar a role do RBAC ao cargo do usuário na organização, sem problema, mas não é a essência do RBAC, é apenas uma possibilidade pela forma que o sistema funciona.

  • @Athods

    @Athods

    2 ай бұрын

    @@DanielRios549 Role é o mesmo que o cargo na organização

  • @DanielRios549

    @DanielRios549

    2 ай бұрын

    @@Athods Mano, não vou ficar tentando te explicar a forma que o RBAC funciona, veja como é no Google Cloud e vc vai entender

  • @mateusferraz1468

    @mateusferraz1468

    2 ай бұрын

    As roles (admin, manager, client) são uma forma de agrupar permissões (repository:read, project:write) no RBAC. Atribuir roles aos usuários ao invés de permissões diretamente é bem comum. Já a autorização de acesso normalmente é feita com base na permissão e não na role. Se você observar direito, é assim que o Diego está fazendo.

  • @carlosricardoziegler2650
    @carlosricardoziegler26503 ай бұрын

    Muito massa essa lib de roles, clerk tem uma componentes massa de gerenciamento de orgs

  • @carlosricardoziegler2650

    @carlosricardoziegler2650

    3 ай бұрын

    O que vai usar de frontend ? E o que tá usando no backend ? Eu tô curtindo usar HonoJS 😊

  • @felipesilveiram
    @felipesilveiram3 ай бұрын

    Olá Diego tudo bem? Por que não estão postando mais vídeos de React Native?

  • @seoky6

    @seoky6

    3 ай бұрын

    Ele tá se aprofundando em outros assuntos como esse enquanto outra pessoa faz vídeo de RN, infelizmente não dá pra focar em tudo.

  • @dieegosf

    @dieegosf

    3 ай бұрын

    Nós separamos os canais por educador então o Rodrigo está postando de React Native num canal separado: www.youtube.com/@orodrigogo/videos

  • @R6videos6R
    @R6videos6R3 ай бұрын

    Algum motivo em específico pra não usar framework no back? Quando começaram com Nest js achei que continuariam a usá-lo em outros projetos.

  • @kevinferreira6279

    @kevinferreira6279

    3 ай бұрын

    Está usando Fastfy

  • @R6videos6R

    @R6videos6R

    3 ай бұрын

    @@kevinferreira6279 mas o Nest também dá suporte a Fastify

  • @DanielRios549
    @DanielRios5493 ай бұрын

    Como que faz pra usar o Zod assim direto no body e no response das rotas?

  • @TheBraziliansGames

    @TheBraziliansGames

    3 ай бұрын

    só instalar e usar o Fastify Type Provider Zod

  • @DanielRios549

    @DanielRios549

    3 ай бұрын

    @@TheBraziliansGames Tem algo do tipo pro Express?

  • @lucianoseibel
    @lucianoseibel3 ай бұрын

    como faço para acompanhar este curso e este app?

  • @dieegosf

    @dieegosf

    3 ай бұрын

    Está na plataforma da Rocketseat, só procurar por SaaS ou RBAC

  • @viniciusrangel544
    @viniciusrangel5443 ай бұрын

    nunca considerou o casbin? eu gosto bastante

  • @dieegosf

    @dieegosf

    3 ай бұрын

    É uma lib incrível também, mas estava procurando algo mais no ecossistema JS que assim já facilita a integração com frameworks e libs front-end. Por exemplo, o CASL tem integração nativa no Nest para back-end e pacotes para as principais ferramentas como React, Prisma, etc...

  • @viniciusrangel544

    @viniciusrangel544

    3 ай бұрын

    @@dieegosf interessante... com go eu só uso casbin, agora estou em um projeto nest, vou verificar o casl. obrigado Diego

  • @CarlosEduardo-nt8pm
    @CarlosEduardo-nt8pm3 ай бұрын

    Cara não seria melhor um middleware antes de bater em cada rota e nele verificar se o usuário tem permissão ou não? E aí em cada rota apenas passar um decorador com as permissões que aquela rota tem? A única coisa chata nesse tipo de autenticação que não consegui uma solução boa é a grade de relacionamento / permissão, dependendo da regra algumas pessoas podem ou não ver alguns relacionamentos, no orm que uso faço uns gatilhos meio loucos nele que funciona, mas é chato...

  • @natanfoleto8233
    @natanfoleto82333 ай бұрын

    Qual módulo está sendo esse la dentro da plataforma?

  • @eurico_dev

    @eurico_dev

    3 ай бұрын

    também gostaria de saber

  • @dieegosf

    @dieegosf

    3 ай бұрын

    Esse é um curso a parte, ou seja, não está dentro de uma formação específica.

  • @allancassio6674

    @allancassio6674

    3 ай бұрын

    ​@@dieegosf eu estou construindo um SaaS por conta. Mas nunca fiz isso, essas aulas aí seriam uma ajuda sem tamanho. Como que posso ver?

  • @JoseFernandes-rn8zq

    @JoseFernandes-rn8zq

    3 ай бұрын

    ​@@allancassio6674se tiver assinatura na plataforma, só entrar e filtrar pelo curso que disseram aqui em cima nas respostas.

  • @princehrb
    @princehrb3 ай бұрын

    quando sai esse frontend?

  • @dieegosf

    @dieegosf

    3 ай бұрын

    Só estou esperando passar a dor de garganta e já vou gravar as aulas de front-end.

  • @princehrb

    @princehrb

    3 ай бұрын

    @@dieegosf melhoras mentor

  • @princehrb

    @princehrb

    3 ай бұрын

    @@dieegosf o frontend sera em nextjs 14?