Je suis en train de mettre en place un site Web de style SaaS dans lequel plusieurs clients géreront tous leurs workflows et données sur le même site - et donc la même base de données. Je ne suis même pas sûr s'il y a un mot pour ce concept, mais existe-t-il un moyen établi de ségrégation automatique des données de sorte que tous les appels ActiveRecord à la base de données sont filtrés/restreints par le client_id correct de l'utilisateur qui est connecté? Le moyen le plus simple serait bien sûr d'ajouter simplement un "where client_id = ?
" et de mettre l'identifiant client de l'utilisateur ... à la fin de chaque requête ActiveRecord.Quelle est la meilleure méthode pour créer des "jardins clos" pour plusieurs clients dans votre base de données?
Y a-t-il une idée de filtre avant pour les modèles, de sorte que toute méthode de recherche (y compris les méthodes dynamiques) les inclurait automatiquement sur le client_id
?. Donc, je pourrais juste faire Model.find_by_what_I_want(foo)
, et il serait automatiquement savoir pour limiter cela aux seuls enregistrements appartenant à l'ID client correct, même si je ne l'ai pas spécifié explicitement?
Quel SGBD utilisez-vous? –
Would ** [multitenancy] (http://en.wikipedia.org/wiki/Multitenancy) ** est le mot pour ce concept? –