J'ai un site Web que j'ai intégré à un logiciel de forum populaire (phpBB). Je l'ai configuré pour que les utilisateurs qui se connectent automatiquement au site principal soient également connectés au logiciel du forum. Je le fais en m'authentifiant à travers l'API du forum en même temps. Lorsqu'un utilisateur s'inscrit sur le site, une entrée est ajoutée à la base de données du site principal et une entrée est ajoutée à la base de données des utilisateurs du forum (à l'aide de l'API du forum).Motifs de réplication des données utilisateur d'un logiciel à un autre
L'identifiant principal de la table utilisateur du forum est stocké dans une colonne de la base de données de l'utilisateur du site principal. Ceci est enregistré au moment de l'enregistrement: le processus d'enregistrement crée d'abord un utilisateur du forum, puis renvoie l'identifiant à la requête qui crée l'utilisateur sur le site principal. Lorsqu'un utilisateur se connecte, s'il s'authentifie auprès du site principal, cet ID est extrait et transmis à l'API de connexion au forum pour se connecter à la bonne personne. Cependant, une chose bizarre semble se produire de manière aléatoire: une personne sur 30 ou 40 qui enregistre se retrouve avec un identifiant d'utilisateur de forum qui n'est pas le leur dans la table d'utilisateur du site principal. Je sais comment chercher ces problèmes et les résoudre au cas par cas et avoir des scripts en place pour le faire, mais cela semble être plus un pansement, pas une solution.
Est-ce un problème courant lors de la liaison de données de ce type, ou cela semble-t-il être quelque chose de plus spécifique au logiciel? En raison du caractère aléatoire de ce problème, il a été difficile à déboguer.
Non, je ne le pense pas de toute façon. Je ne vois pas comment cela ferait que l'identifiant de l'utilisateur principal dans la table du site principal soit changé pour la clé de quelqu'un d'autre lors de l'enregistrement, cependant. À ce stade de l'enregistrement, aucune session n'existe. –
phpbb utilise un numéro de session dans un cookie pour déterminer si je suis déjà connecté. Ainsi, le # de session dans mon cookie est identifié avec une session d'hôte qui est assignée à un moi. Si le numéro de session est réutilisé et associé à un nouvel utilisateur, mon ancien cookie soumet cette session #, et phpbb pense que je suis le nouvel utilisateur. – dkretz