none
[MOSS 2007] Custom Site Map Provider : héritage et security trimming RRS feed

  • Discussion générale

  • Bonjour.

    Je travail sur un projet nécessitant la création de plusieurs collections de sites. Grâce à l'utilisation des chemins gérés, certaines collections se retrouvent sous d'autres collections. Je précise que je suis sous MOSS 2007.

    J'ai créé un job qui parcour l'application web et qui cherche tous les sites. Les site trouvés sont alors stockés dans une liste SharePoint.

    J'ai ensuite développé un custom site map provider qui parcours cette liste pour ce construire. Il hérite de StaticSiteMapProvider.

    J'ai trouvé plusieurs autres site map provider : PortalSiteMapProvider (qui semble plus indiqué pour les site de type publication) et le SPSiteMapProvider.

    Mon provider fonction correctement. Néanmoins, je souhaite appliqué la sécurité relative aux sites référencés. J'ai activé le sécurity trimming, mais le résultat n'est pas celui escompté.

    J'ai donc réécrit la méthode IsAccessibleToUser du provider qui retourne true si l'url est accessible à l'utilisateur. Mais ce processus nécessite de faire un OpenWeb de tous les sites pour ensuite faire un web.DoesUserHavePermissions qui est très consommateur en terme de ressources.

    Mes questions sont donc :

    - Dois-je hériter d'un autre Provider pour coder le mien ?

    - La réécriture de la méthode IsAccessibleToUser est elle le bon choix ? A défault, comment activé le sécurity trimming correctement ? Je n'ai pas bien compris l'utilisation des roles sur les nodes appliqué à SharePoint.

    - A l'heure actuelle, j'ai enregistré le provider dans le web.config à la main. Mais d'après ce que j'ai lu, cela posera des problème dans le cadre d'un déploiment sur une ferme de plusieurs serveurs. Quelles sont les bonnes pratiques de déploiment dans le web.config ?

    Dernière question : Etant donné que le provider fonctionne en l'état, je l'ai intégré dans mes pages. Avec le treeview, mais aussi avec le menu toplinkbar.

    - Lorsque j'intègre un composant asp de type SiteMapPath, ce dernier ne s'affiche pas alors que je l'ai lié à mon custom provider. Comment faire ?

    Merci, n'hésitez pas à me demander des précisions si je n'ai pas été assez clair...

    vendredi 7 mai 2010 07:37

Toutes les réponses

  • Bonjour!

    Peux-tu préciser le besoin? Pourquoi veux-tu un provider de navigation custom? Que sont et les requis de ce dernier?... Tu veux un menu qui contient la structure complète de la ferme??... Ce n'est pas très clair.

    Je ne suis pas certain qu'une liste SharePoint contenant la structure de tout les sites soit la meilleur façon de parvenir a tes fins...

    J'attend tes précisions!

    lundi 10 mai 2010 22:05