none
SharePoint 2013 : Gestion des droits d'affichage sur un element de liste RRS feed

  • Question

  • Bonjour à tous,

    Voici ma question: Je possède une liste sharepoint de produit. Chaque produit fait partie d'un rayon. Je souhaiterais que les chefs de rayon ne voient que les lignes des produits appartenant à leur rayon. Et je souhaite que le responsable de magasin puisse voir tous les produits de la liste quel que soit le rayon.

    Est il possible de faire cela? Peut etre que je n'utilise pas le bon vocabulaire, mais je n'ai rien trouvé à ce sujet. Si ce n'est pas possible quel serait la meilleure solution pour obtenir cela?

    Merci d'avance.


    P.S: Je n'ai pas de problème pour passer par du dev, mais est ce possible?
    lundi 6 janvier 2014 15:43

Réponses

  • Bonjour

    si j'ai bien compris votre demande ce n'est pas possible en natif. SharePoint ne gère pas des permissions en fonction de valeurs de champs.

    par contre par code c'est jouable :

    • sur votre liste de produit vous 'branchez' un "Event Handler", classe C# qui va etre invoquée par SharePoint à chaque fois qu'une création/modification est faite sur un des produits
    • là en fonction de la valeur sur la colonne "rayon" associé au produit vous pouvez par code modifier directement les permissions de l'item pour que les bons groupes/personnes aient accès à ce produit

    J'ai déjà fait la même chose sur une gestion de congés et ça marchais plutôt bien :

    le congé est visible par le collab, son manager (on va le chercher dans l'AD) , ses RH.

    Un point important et de mettre en place des traces précise de l'execution de ce "workflow" car en cas de plantage il faut détecter rapidement les elements qui n'ont pu etre sécurisé rapidement...


    Blog Sharepoint : www.paslatek.net Twitter : @LimozinLionel

    lundi 6 janvier 2014 17:45

Toutes les réponses

  • Bonjour

    si j'ai bien compris votre demande ce n'est pas possible en natif. SharePoint ne gère pas des permissions en fonction de valeurs de champs.

    par contre par code c'est jouable :

    • sur votre liste de produit vous 'branchez' un "Event Handler", classe C# qui va etre invoquée par SharePoint à chaque fois qu'une création/modification est faite sur un des produits
    • là en fonction de la valeur sur la colonne "rayon" associé au produit vous pouvez par code modifier directement les permissions de l'item pour que les bons groupes/personnes aient accès à ce produit

    J'ai déjà fait la même chose sur une gestion de congés et ça marchais plutôt bien :

    le congé est visible par le collab, son manager (on va le chercher dans l'AD) , ses RH.

    Un point important et de mettre en place des traces précise de l'execution de ce "workflow" car en cas de plantage il faut détecter rapidement les elements qui n'ont pu etre sécurisé rapidement...


    Blog Sharepoint : www.paslatek.net Twitter : @LimozinLionel

    lundi 6 janvier 2014 17:45
  • Bonjour,

    Vous avez complètement compris ma demande et votre réponse répond parfaitement à mon besoin. J'ai juste encore une petite question:

    Comment modifier les droits de l'item? SI vous avez quelques exemples ou un lien je suis preneur.

    Merci beaucoup pour votre aide.

    mardi 7 janvier 2014 07:59
  • Bonjour

    Malheureusement je n'ai pas mon code de gestion des congés sous la main.

    sur un SPListItem (dans l'event handler vous aurez une ref dessus) vous avez un propiété RoleAssignements. C'est par là que ça ce passe. Il faut au préalable aussi "casser" l'heritage des permissions avec la methode BreakRoleInheritance sur l'item.

    C'est assez "pénible" comme modèle à appréhender (SPRoleDefinitionBindings, SPRoleAssignements, SPPrincipal..) mais une fois qu'on l'a fait une fois ça roule...

    des exemples :

    http://sharepoint.stackexchange.com/questions/28358/how-to-change-programmatically-privileges-permissions-on-splistitem

    http://stackoverflow.com/questions/4934168/how-to-give-an-spgroup-permissions-for-an-spitem

    bon courage


    Blog Sharepoint : www.paslatek.net Twitter : @LimozinLionel

    mardi 7 janvier 2014 08:18
  • Merci je regarde ca.
    mardi 7 janvier 2014 08:21
  • Ca fonctionne. Merci pour votre aide.
    mardi 7 janvier 2014 10:53
  • avec plaisir :)

    Blog Sharepoint : www.paslatek.net Twitter : @LimozinLionel

    mardi 7 janvier 2014 10:59