2009-07-15 7 views
0

Je suis sur le point d'écrire une application Ruby on Rails qui utilisera des sous-domaines pour authentifier les utilisateurs. Nous aurons deux types de comptes:Rails Subdomain Clustering

  • comptes utilisateur
  • domaine représente

Les utilisateurs pourront ainsi appartenir au domaine plusieurs comptes en utilisant les mêmes informations d'identification. J'espère avoir la possibilité pour un administrateur de compte de domaine de pouvoir rechercher des utilisateurs particuliers et les ajouter à leur domaine. En plus de simplement créer un compte de domaine dans la base de données, je veux configurer un compte réel sur la machine (basé sur linux) afin que les utilisateurs puissent déposer des fichiers dans un répertoire spécial et nous pouvons exécuter des scripts pour l'importer nouvelles données. Sinon, je peux écrire un script client/serveur pour faciliter ce processus. Tout cela je crois que je peux faire, cependant, dès que le projet atteint un certain nombre de comptes de domaine, il sera nécessaire de comprendre comment regrouper les comptes de domaine de manière appropriée afin que nous puissions avoir plusieurs machines. Du point de vue de la base de données, c'est assez facile et il y a beaucoup de tutoriels sur la façon de classer MySQL ou n'importe quel serveur SQL que je décide d'utiliser. Donc, ma question se rapporte vraiment plus aux comptes de machine aussi bien que comment classer une application de Rails.

Si vous voulez une comparaison, pensez à ce projet comme GitHub ou Beanstalk mais avec des données qui ne sont pas liées au contrôle de source.

Quelqu'un a-t-il une expérience avec ceci ou connaît-il de très bons articles/livres pour me lancer?

Merci beaucoup!

Répondre

0

Je vous suggère d'utiliser l'un des modules PAM qui vous permet d'authentifier un compte auprès d'une base de données SQL. De cette façon, vous ajoutez simplement le compte de domaine à la base de données SQL et vous obtenez des comptes UNIX (sur tous vos serveurs) automatiquement, gratuitement. Donc, le regroupement devrait aussi se produire gratuitement ...

+0

Merci caf, je vais y jeter un coup d'oeil. PAM leur donnerait-il un répertoire personnel? Ils doivent être en mesure de télécharger des fichiers via SCP ou SFTP afin que nous puissions exécuter des scripts contre eux. De plus, beaucoup de clients voudront pouvoir sauter sur le serveur et lancer mysql ... –

+0

Pour cela vous pouvez ajouter le module pam \ _mkhomedir à votre configuration PAM ("Le module PAM pam \ _mkhomedir va créer un home d'utilisateurs répertoire s'il n'existe pas au début de la session. "). Cela, ou vous pouvez utiliser un système de fichiers partagé comme NFS pour contenir les répertoires personnels. – caf