2011-07-07 2 views
0

J'ai un réseau pour trois sites Web connexes. Actuellement, chaque sous-domaine contient environ 100 comptes dans trois bases de données distinctes. Ils se connectent séparément pour chaque domaine. J'aimerais créer site0.domain.com qui leur permet de s'authentifier sur une base de données, puis de connecter automatiquement l'utilisateur à chaque site lors de leur visite.Implémentation d'un identifiant unique pour trois sites en PHP?

Je ne sais pas trop comment faire. J'ai entendu des termes tels que Open ID et Federations et Single Sign On, mais je n'ai jamais voulu intégrer de tels sites auparavant. Tout d'abord des conseils sur comment cela est accompli techniquement (j'utilise PHP/MySQL) et deuxièmement, quel est le bon plan pour migrer les comptes d'utilisateurs existants pour utiliser l'authentification unique sans interrompre le service?

Je suppose qu'un utilisateur peut se connecter via un formulaire sur le site 0 et il autorise l'utilisateur contre une base de données et crée une ligne de base de données pour sa session, avec un jeton d'accompagnement. Le jeton est défini dans un cookie de variable de session. L'utilisateur visite site1, site2 ou site3 et si une variable de jeton est définie dans la requête GET, il se connecte à la même base de données site0 utilise, recherche le jeton et renvoie la ligne utilisateur correcte. Est-ce à peu près comment cela fonctionne? Tout autre conseil technique serait génial ...

En ce qui concerne la migration, je suppose que je peux demander aux utilisateurs de créer leur login de site0 ou de "connecter" leur compte d'utilisateur au login de site0 s'ils ne l'ont pas encore fait connectez-vous à l'un des sites. Après 30 jours, tous les sites cessent d'accepter les connexions normales et l'utilisateur est obligé de créer un login site0. Quand ils créent un login de site0, ils demandent leur nom d'utilisateur/mot de passe site1, site2 ou site3 pour pouvoir obtenir les bonnes informations utilisateur.

Répondre

0

Jetez un oeil à quelque chose comme SimpleSAMLphp C'est une excellente bibliothèque pour faire ce genre de chose.

+1

J'ai trouvé un script PHP léger appelé [LightOpenID] (http://gitorious.org/lightopenid) qui est assez facile à utiliser et à comprendre qui implémente OpenID, et je suppose que c'est ce que je vais faire maintenant. J'ai des problèmes avec ça ... – Chris

Questions connexes