Dúvida Dashboard
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.
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?
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!
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
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!