Liberando cadastro apenas para Master

[Finalizado Pelo Aluno]

Herman Monteiro Criador 16/03/2019
Herman Monteiro

Opa Carlos, entendi sua ideia, mas no caso, como posso fazer caso eu queira criar um tipo de cadastro similar ao da https://www.nuvemshop.com.br?

O sistema que estou criando, não é uma loja virtual, mas a logica de criação será a mesma, ou seja, o meu cliente vai acessar o site principal www.meusistema.com.br e vai informar o nome da empresa (campo do tenant), cnpj (campo do tenant), nome e email (user).

Quero liberar para que "qualquer pessoa" crie seu cadastro a partir do www.meusistema.com.br, dai vai criar o client1.meusistema.com.br, client2.meusistema.com.br e etc...Isto é para criar novos tenants e depois cada cliente poderá cadastrar novos usuários dentro do painel de controle dele.

Manager Carlos Ferreira 19/03/2019
Carlos Ferreira

Oi!

Primeiramente precisa entender a lógica utilizada para identificação de tenants, neste caso foi por subdomínio.

O que será necessário fazer é configurar primeiramente o servidor (nginx ou apache) para trabalhar com subdomínios dinamicamente.
subdominiodinamico.dominio.com.br

Quando cadastrar um novo tenant você pega o subdomínio escolhido e redireciona o usuário, assim ele já vai ficar dentro do seu próprio ambiente, justamente porque a lógica de identificação do tenant é por subdomínio.

Veja como fica o método de cadastro de um novo tenant e redirecionamento:
public function store(Request $request)
{
    $tenant = Tenant::create($request->all());

    $subdomain = $tenant->subdomain;

    // $url = "{$subdomain}.dominio.com.br";
    $url = "{$subdomain}.{config('app.url')}";

    // Redireciona para o subdomínio do cliente novo
    return redirect()->away($url);
}

Criador Herman Monteiro 19/03/2019
Herman Monteiro

Opa, esta minha pergunta meio que foi duplicada, entedi a ideia. vlw

Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!