-
Droits en "temps réel"
Bonjour,
J'ai un petit soucis avec le plugin sfDoctrineGuard. J'ai recherché un peu sur Google et je suis tombé sur cet article dans un blog : http://www.rotta.be/michel-rotta/1-s...ermission.html (je crois qu'un habitué de ce forum, saura reconnaître ce blog :P )
Le soucis est que quand je modifie les droits, l'utilisateur doit se déconnecter puis se reconnecter pour avoir ces droits à jour, ce qui dans le cadre de mon application me pose problème.
Comment faire pour modifier ce comportement ?
D'avance, merci.
-
J'ai déjà lu un ou deux articles de ce blog, en effet :mrgreen:
Cela ne va pas être simple.
En effet, sfGuard utilise sfBasicSecurityUser pour gérer les droits dans la session (et répondre à un hasCredential par exemple).
Hors le fonctionnement de ce composant symfony veut qu'il soit chargé à l'ouverture de la session.
Modifier ce comportement reviendrait à réécrire une partie de sfGuard qui torturerait le sfBasicSecurityUser pour le redéfinir à chaque lancement d'une instance (alors qu'il est conçu pour sauvegarder ses données dans la session).
C'est peut-être réalisable, mais cela va entraîner un code particulièrement lourd qui sera exécuté à chaque instance PHP.... Est-ce que la solution (permettre une modification à la volée occasionnellement) ne sera pire que les dégâts (une perte global de performance) ?
Si tu y tiens il faudra créer dans ton application un objet du genre myUserChargeImmedia qui va hériter de sfGuardSecurityUser et devra modifier plusieurs méhodes pour permettre un chargement à chaque instanciation et non plus lors de la méthode signIn().