Pour l'authentification LDAP il existe un plugin (jamais testé par moi) qui permet de gérer les connexions
bhLDAPAuthPlugin il peut servir tel quel ou d'inspiration...
Ce qui m'étonne plus est le fait de valider le login sur LDAP et les groupes par une requêtes sur une table sql autre... LDAP est capable de gérer des user et leurs groupes... bizarre.
Il m'est avis que ton truc est trop spécifique pour pouvoir trouver un plugin qui le fasse... donc il va falloir partir de bhLDAPAuthPlugin pour s'inspirer au niveau de la connexion. Il faudra aussi travailler sur sfDoctrineGuard en partie.
L'administration des droits ne va pas être simple, sauf à passer uniquement par des groupes, si non, tu vas devoir gérer, en local, le nom des users, en plus du nom des groupes que tu utilises et les droits à associer...
Je pense que le plus simple serait de partir de sfDoctrineGuard et de le modifier :
- Vérification de l'existence sur le serveur de l'user, puis du user dans les tables local et le cas échéant, l'insérer.
- Vérification des groupes de l'utilisateur sur l'autre serveur par une requête SQL, puis mise a jour en fonction des groupes existants sur ton application des liaisons utilisateur <-> groupes.
- le reste devrait pouvoir fonctionner comme sfDoctrineGuard fonctionne actuellement.
Il faut gérer les groupes en local, pour pouvoir leur attribuer des droits.
Il faut gérer les utilisateurs en local, pour pouvoir leur attribuer des droits individuels.
Ceci devrait pouvoir tourner.
Bonne chance.
Michel
PS1: Michel dit : "
Je ne pense pas que surcharger la méthode soit une bonne solution", il n'y a que les imbécile qui ne changent pas d'avis !
PS2: nawbacan dit : "
je connaissai pas le concept de table d'attente", tant mieux, c'est le genre de choses qui ne devrait pas exister dans l'authentification (mais j'ai déjà vu...).