Pergunta

Esta questão é diferente dos outros porque todas as perguntas que eu tenho visto até agora estão falando sobre o banco de dados. Eu entendo o lado do banco de dados de multitenacy, mas eu não estou 100% certo sobre a maneira de fazer o front-end.

Eu estou trabalhando no projeto de um produto que vai ser basicamente um serviço hospedado para os clientes. Quanto ao multitenacy vai, você pode pensar em uma conta FogBugz hospedado. Os clientes se inscrever, eles obter o seu próprio subdomínio, e, em seguida, eles vão para customersubdomain.thenormalurl.com e login para sua pequena parte do aplicativo.

Quando os sinais do cliente até que precisa configurar um registro DNS para o domínio sub, mas do lado da aplicação do mesmo, como nós "escopo" do aplicativo para esse cliente? É só deveria olhar para o url que o pedido foi feito para ou há alguma outra maneira? Isso parece simples demais para mim, mas talvez eu só estou tentando algo complicada que deve ser simples.

Como isso é feito normalmente no mundo ASP.Net?

Foi útil?

Solução

Sim, basta olhar para o subdomínio. Se registrar seus usuários, então você pode ignorar o subdomínio e descobrir quem eles são, por suas credenciais de login. Depois de descobrir quem eles são, então é apenas uma questão de obter os dados corretos e não mostrando os dados errados. E é aí que todas essas perguntas DB vêm em. Você faz isso 'escopo' quer pela utilização bancos de dados separados ou marcando todos os seus registros com chaves para o cliente. Assim, a sua aplicação tem de implementar isso.

Outras dicas

Luke Sampson tem algumas técnicas e código de exemplo para aplicações multi-tenant usando sub-domínios sob ASP.NET MVC aqui:

http: //blog.lukesampson .com / subdomínios-para-um-único-application-com-asp-net-mvc

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top