Salut,
Je me trouve face à une situation compliquée à décortiquer. Je m'explique : dans le but de faire une application PHP avec une bonne intégration dans les environnements existants, je dois trouver un moyen de gérer plusieurs sources de données pour l'identification. En PHP, on utilise généralement une base de données MySQL pour sauvegarder les données utilisateurs (nom d'user, mot de passe, etc).
Mon problème est le suivant : mon application a sa propre base de données, avec plusieurs tables. L'utilisateur a plusieurs choix pour gérer l'identification : utiliser la base de données de l'application, utiliser une base de données externe, utiliser des fichiers XML, etc. Les sources d'identification peuvent être très variées.
Seulement, mon application doit se plier à la structure de ces sources différentes.
Et si j'ai besoin de plus d'attributs pour mes utilisateurs ? Par exemple, je veux que mes utilisateurs puissent donner leur nom civil, mais la base externe qui me sert pour l'identification ne contient que des champs pour le nom d'utilisateur et le mot de passe.
Je me retrouve face à une situation complexe : dois-je créer une table 'user' qui ne contiendra que les données supplémentaires sur les utilisateurs, et faire le lien avec la base de données externe ? Dois-je demander à l'admin de créer lui même les champs nécessaires (fastidieux et peu envisageable) ?
Je ne vois pas comment résoudre ce problème de manière logique et efficace. La duplication de la source d'identification n'est pas envisageable pour des raisons évidentes de sécurité, performance et efficacité.
Que feriez-vous dans un cas similaire ?
Merci.
Partager