2009-12-04 4 views
4

Cette question est différente des autres parce que toutes les questions que j'ai vues jusqu'ici parlent de la base de données. Je comprends le côté de la base de données de multitenacy, mais je ne suis pas sûr à 100% sur le chemin de faire le front-end.Comment puis-je créer une application multitenant avec ASP.Net MVC?

Je travaille sur la conception d'un produit qui sera essentiellement un service hébergé pour les clients. En ce qui concerne la multitratie, vous pouvez penser à un compte FogBugz hébergé. Le client s'inscrit, ils ont leur propre sous-domaine, puis ils vont à customersubdomain.thenormalurl.com et se connectent à leur petite partie de l'application. Lorsque le client s'inscrit, nous devons configurer un enregistrement DNS pour le sous-domaine, mais du côté de l'application, comment pouvons-nous "étendre" l'application à ce client? Est-ce que c'est juste censé regarder l'URL à laquelle la demande a été faite ou est-ce qu'il y a un autre moyen? Cela me semble trop simple, mais peut-être que j'essaie simplement de compliquer quelque chose qui devrait être simple.

Comment cela se fait-il normalement dans le monde ASP.Net?

Répondre

2

Ouais, il suffit de regarder le sous-domaine. Si vos utilisateurs se connectent, vous pouvez ignorer le sous-domaine et déterminer qui ils sont par leurs identifiants de connexion. Après avoir déterminé qui ils sont, il s'agit simplement d'obtenir les bonnes données et de ne pas montrer les mauvaises données. Et c'est là que toutes ces questions DB entrent en jeu. Vous effectuez cette «délimitation» en utilisant des bases de données distinctes ou en marquant tous vos enregistrements avec les clés du client. Donc, votre application doit mettre en œuvre cela.

+0

Alors c'est vraiment aussi simple que ça? Sur la page de connexion, vérifiez simplement le sous-domaine et les informations d'identification, puis utilisez simplement l'utilisateur authentifié à partir de ce moment-là? C'est tout? Je suppose que cela a du sens, j'étais juste sûr qu'il y avait quelque chose à quoi je ne pensais pas –

+0

C'est vraiment si simple à partir de cette fin. Les grandes décisions concernent la manière de séparer les données. Toutes vos requêtes doivent faire la bonne chose - quoi que ce soit en fonction de la façon dont vous structurez les données. –

Questions connexes