Bonjour.
Je viens de développer un programme qui customise la barre de navigation supérieure de sorte que toutes les collections aient un point d'entrée commun. Cette barre prend en compte la sécurité çàd que je ne
vois que ce à quoi j'ai droit. Aussi, il y a affichage de l'ensemble des sites de chaque collection çàd que chacun de ces sites apparait dans cette barre.
Le souci est que dès qu'une personne a seulement un droit de lecture sur une de ces collections j'ai un joli "Accès refusé" qui s'affiche et rien n'est accessible.
Le message d'erreur est "UnauthorizedAccessException" et il se produit au moment où le lecture tente d'exécuter le code suivant :
for (int j = 0; j < currColl.RootWeb.Webs.Count; j++)
ça semble donc être un problème de droit d'accès et il faut passer par l'impersonation!
Sauf que voilà, j'ai du mal avec
SPSecurity.RunWithElevatedPrivileges
Car, en fonction de l'endroit où je la position dans le code, j'ai soit accès refusé à tout le monde y compris les administrateurs soit affichage, pour les lecteurs, des sous sites auxquels ils n'ont pas accès!
Pour le
SPUserToken
, j'ai du mal à comprendre son fonctionnement.
Après une journée passée à chercher une solution, je me retourne vers vous afin d'avoir votre avis et s'il y a une solution "plus simple" pour aboutir mon code s'il vous plaît ?
En vous remerciant par avance.