[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Junior Marquezano
Criador Junior Marquezano 30/09/2018

Carlos, queria tirar uma dúvida ou até mesmo uma dica sua. Como vc define as áreas administrativas dos seus sistemas, por exemplo, no multi-tenancy onde tera os clientes mais também a sua área de administração desses clientes. No Auth e tbm estrutura de pastas por exemplo.

Manager Carlos Ferreira 30/09/2018

Olá Junior, tudo bem?

É uma pergunta interessante. Sempre procuro trabalhar com área administrativa seguindo certo modelo de acordo com o projeto.

Em um sistema multi-tenancy por exemplo procuro isolar os recursos de super usuário a partir de filtros (middlewares) ou Authorization a partir do domínio. Ou seja, defino o domínio (ou subdomínio) principal, e a partir deste acesso valido quem pode ou não acessar aquele recurso.
Procuro sempre vincular o usuário a um tenant (company), e esse tenant sempre está ligado ao domínio ou subdomínio, aqui entra o "pulo do gato", a partir dessa ligação valido se o usuário pode ou não ter acesso ao recurso. Como por exemplo cadastrar novos tenants.

Entendeu a ideia?

Era isso mesmo que queria saber?

Carlos Ferreira
Criador Junior Marquezano 30/09/2018

Em partes entendi, então o seu acesso ao sistema também é realizado na mesma tabela dos usuários do tenant? Essa é a dúvida maior, o meu a acesso que gerencia todo o painel.

Desde já obrigado!

Junior Marquezano
Manager Carlos Ferreira 30/09/2018

Olá Junior!

Você pode separar por tabelas, criando uma tabela isolada chamada por exemplo admins, e criar guards customizados para autenticar os usuários (https://www.youtube.com/watch?v=CY2jlYgWTF4).

Porém, eu particularmente opto por deixar tudo na mesma tabela, todos os usuários, inclusive admins. Ou uso ACL (Authorization) para validar níveis de acesso, ou trabalho com Middlewares para garantir o acesso aos recursos.

Em um sistema multi-tenancy, vamos imaginar que fizemos a separação do Tenant (cliente) pelo domínio.
Ao acessar o sistema com o domínio especializati.com.br eu permito o acesso total, através de middlewares. Mas, ao acessar através de example.com.br eu não permito o acesso!
Lembrando que nesse exemplo a identificação do nosso tenant é por domínio. Igual fiz no curso de Laravel Multi-tenancy multi database, que está disponível aqui na Academy.

Me retorna qualquer dúvida. Ok? =D

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!