[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Samuel de Vincenzo
Criador Samuel de Vincenzo 15/02/2020

Oi Carlos, Boa Noite!
Estou com uma dúvida referente ao acesso do cliente sendo subdominio.

Por exemplo:

O sistema está no dominio "meusistema.io" e os clientes serão cadastrados por subdominio, cliente1.meusistema.io e terá base de dados isolada(cada cliente terá a sua).

minha dúvida:

1 - Na tela principal do sistema "meusistema.io" terá um botão de login, quando o cliente fazer o login ele deveria ser direcionado para o cliente1.meusistema.io ? Se sim, como fazer isso? Não consegui implementar de nenhum jeito!

 2 - Se não tem necessidade de redirecionar, é só chamar o metodo setconnection, mas esbarro no momento de pesquisar os dados na tabela do tenant, uma vez que, ele procura pelo dominio vindo da função subdomain.

Poderia me ajudar nestas dúvidas?
 

 

Manager Carlos Ferreira 15/02/2020

Olá, Samuel!
Tudo bem?

Ajudo sim, claro.

Então você combinou o modelo dos dois cursos, single e multi database, certo?

Só pra alinhar como está o seu sistema:
 > meusistema.io - conecta base principal
 > client01.meusistema.io - conecta a base01
 > client02.meusistema.io - conecta a base02

Quando acessa o sistema considerando que já alternou a conexão para o banco de dados correspondente ao subdomínio, já está ok, nem precisa redirecionar.

Independente se o login estiver na rota "/" ou em qualquer outra isso não influência o funcionamento do sistema (considerando que já está conectado a base correta);

É esse o cenário mesmo?

Carlos Ferreira
Criador Samuel de Vincenzo 15/02/2020

Oi Carlos, Boa Noite!

Na verdade só estou usando o multi-database, porém terminei de assistir o curso de single e vou colocar os 2.

Vou controlar por plano se o cliente será single ou multi. Se o cliente escolher o multi, na hora de criar a company, vou criar o user na base principal e criar na base do cliente.

Ai que vem minha dúvida.

se o cliente conectar pelo sub dominio o sistema irá fazer sozinho, pega o subdominio e conecta, mas se ele esquecer e acabar caindo na pagina principal(meusistema.io), queria colocar um botão de login, ai busco pelo user na base principal, verifico que ele é multi e redireciono ele para o subdominio que pertence aquele cliente

 

 

 

Samuel de Vincenzo
Manager Carlos Ferreira 15/02/2020

Entendi.

Existem algumas soluções. Nesse caso a solução mais simples que consegui pensar é listar na opção de login (talvez através de um combobox) a opção da empresa que ela deseja se conectar (esse combobox só pode ser exibido para o domínio principal meusistema.io, porque se já estiver em um subdomínio o tenant já está conectado a base correta), e a partir desse combobox você consegue direcionar o usuário.

Pegou a ideia amigo? Acha que vai te atender?

Carlos Ferreira
Criador Samuel de Vincenzo 15/02/2020

Oi Carlos, Boa Noite!

Peguei sim a idéia, outra que pensei seria fazer uma tela estilo painel do cliente onde listo todas as empresas que ele contratou(penso tambem nas filiais), terá a área de cobrança, novos produtos e etc.

Onde eu apresento a tela terá o link ou botoes para acesso ao sistema e redireciono com o simples redirecionador html e lá ele faz o login com o usuario novamente, ou passo os dados do login e senha do admin na url e faco uma route onde vai logar automaticamente e apresentar a dashboard. o que acha?

 

 

Samuel de Vincenzo
Manager Carlos Ferreira 15/02/2020

Boa Samuel, dá certo também.

Carlos Ferreira
Criador Samuel de Vincenzo 15/02/2020

Oi Carlos ,Boa Tarde!
Tudo bem?

Estou querendo fazer diferente, estou querente fazer o tenant da seguite forma: meusistema.io/cliente, neste caso abrirá a tela de login e depois de autenticar ele muda o banco de dados.

Poderia me ajudar informando onde preciso fazer as mudanças para que ele não identifique mais pela url?

Obrigado!

 

Samuel de Vincenzo

 

Samuel de Vincenzo
Manager Carlos Ferreira 15/02/2020

Tudo bem;

O usuário nesse caso ficaram centralizados no banco principal, certo?

No middleware que alterna a conexão você pode criar um if, para não alternar a conexão quando estiver nessa rota, ex:

if ($request->url() == route('name.route')) {
    return;
}

Após logar será redirecionado para outra rota, e nesse caso não vai entrar no if que impede de alternar a conexão.

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

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!