2009-08-25 7 views
0

Je dois mettre en œuvre SSO entre Liferay et un certain nombre de systèmes basés sur PHP. La base de données utilisée est MySQL. CAS va s'authentifier via la base de données utilisateur Liferay, ainsi que via la base de données utilisateur du système A et du système B. La raison pour laquelle chaque système utilise une base de données utilisateur différente est qu'ils ont été développés par différentes équipes, peut-être différents fournisseurs. Il me revient de décider de la table principale qui sera utilisée pour stocker toutes les informations de connexion et les permissions sur tous les systèmes.Implémentation de l'authentification unique et de la synchronisation des données

Ma question est, comment puis-je synchroniser les données entre les tables dans différentes bases de données? Lorsqu'un enregistrement est inséré dans systemA.userdb, il sera automatiquement inséré dans master.table (la colonne la plus importante étant le nom d'utilisateur et le mot de passe). Donc, mettre à jour et supprimer.

Dois-je utiliser un déclencheur ou y a-t-il un logiciel? Tout conseil sur la mise en œuvre de mon SSO sera également apprécié.

Répondre

0

Je suggère de créer une vue pour chaque application qui met la table de l'utilisateur dans le format qu'ils attendent.

Si pour une raison quelconque vous ne pouvez pas obtenir une vue pour faire ce dont vous avez besoin, alors la meilleure option suivante serait un déclencheur. Si les applications utilisent des serveurs mysql différents, combinez l'un des deux ci-dessus avec les tables fédérées.

Questions connexes