Submitted by Calystod on
Bonjour,
J'ai un problème de sécurité qu'il me faudrait régler. Je l'ai réglé partiellement mais il reste encore certains détails.
Mon système est un extranet. Il y a des utilisateurs ayant un rôle très restrictif et ils n'ont pas le droit de voir la page profil des autres utilisateurs (alors que d'autres rôles peuvent accéder aux autres profiles utilisateurs sans soucis.) J'ai réussi à régler ce problème en créant un nouveau droit et en utilisant un hook_user. Si l'utilisateur n'a pas ce droit et s'il veut afficher un profil qui n'est pas le sien (en tapant l'url par exemple), il est automatiquement redirigé vers son profil.
Le problème, c'est que cela fonctionne sur les pages de type /user/%uid% mais pas sur les pages de types /user/%uid%/quelquechose, or les profiles des utilisateurs ont plusieurs vues raccrochées à leur profil. Et il faut que mon utilisateur puisse accéder aux vues de son profil mais pas à celles des autres utilisateurs. Il me faudrait donc trouver un moyen pour permettre ça. Je pensais réutiliser mon droit créer pour limiter l'accès aux profiles et redirigé vers leur propre profil les utilisateurs n'ayant pas ce droit et voulant afficher la vue lié à un autre utilisateur. Le problème, quel hook appeler pour faire cela et comment savoir quel est l'uid indiqué dans le path (s'il y a un moyen autre que parser l'url).
J'espère avoir été clair dans mon explication. Je vous remercie.