web-dev-qa-db-fra.com

Mise à jour de la session utilisateur pour refléter les dernières modifications du niveau d'accès

Lorsqu'il y a un changement d'objet utilisateur tel qu'un groupe d'utilisateurs, etc. au cours d'une session, ces modifications ne sont pas immédiatement reflétées dans la session en cours.

L'utilisateur doit se déconnecter puis se connecter à nouveau pour voir les modifications.

Que se passe-t-il si la dernière session de l'utilisateur a été mise à jour avec les dernières modifications, de sorte qu'il ne soit pas nécessaire de se déconnecter/se reconnecter pour vérifier les modifications?.

Existe-t-il un impact majeur sur la fonctionnalité complète de Joomla que je devrais prendre en compte avant de faire de tels changements?

3
Nick

C'est un problème très courant dans les installations de Joomla et pour être honnête, il n'y a pas de solution simple. Nous avons implémenté un correctif limité dans 3.4 permettant d'effacer les droits d'accès mis en cache pour l'utilisateur actuellement connecté ( https://github.com/joomla/joomla-cms/blob/staging/libraries/joomla/user/user.php#L488 ). Cependant, cela ne changera pas les droits d'accès des autres utilisateurs du site.

Cependant, toutes les tentatives que nous avons faites pour résoudre les problèmes de tous les utilisateurs ont eu des conséquences inacceptables sur les performances. Pour être honnête, alors que ce n’est pas idéal, votre meilleur choix est probablement de laisser les utilisateurs se connecter et revenir à nouveau.

3
George Wilson