Gestion des droits de façon granulaire sur les éléments d'une liste SharePoint

  • Gestion des droits de façon granulaire sur les éléments d'une liste SharePoint

    Posté par Marielle sur 26 décembre 2023 at 18h39

    Hello

    J’espère que vous allez bien.

    Merci de m’aider à trouver la façon la plus simple d’empêcher certains utilisateurs de modifier les données de certaines colonnes d’une liste SharePoint.

    Par exemple pour une liste de suivi des recommandations, empêcher les Responsables de mise en œuvre (RMO) de modifier le libellé de la reco et la date d’échéance définie.

    Merci

    • This discussion was modified 1 year, 4 months ago by  Marielle.
    Marielle a répondu 1 year, 4 months ago 2 Membres · 4 Réponses
  • 4 Réponses
  • R3dKap

    Member
    30 décembre 2023 at 16h01

    Salut Marielle,

    SharePoint ne permet pas ce genre de chose. Si tu veux de la gestion de droits très fine comme celle que tu évoques, il te faut passer à Dataverse.

    C’est en supposant que tu parles bien de l’accès aux colonnes côté SharePoint et pas du côté d’une application Power Apps. Car évidemment, dans une application Power Apps tu peux faire ce genre de choses (ou dans un formulaire de liste SharePoint customisé avec Power Apps également). Mais tu ne pourras pas le mettre en place sur les colonnes natives (formulaires natifs) SharePoint.

    • Marielle

      Member
      5 janvier 2024 at 17h23

      Merci pour ta réponse.

      Je parle bien d’une liste SharePoint customizée avec Power apps.

      Donc si jamais quelqu’un a une idée pour faire ça je suis preneuse

  • R3dKap

    Member
    7 janvier 2024 at 20h17

    Salut Marielle,

    Ah bin si ton formulaire est customisé avec Power Apps alors c’est assez simple à mettre en place…

    Il te faut une liste AppUsers où tu indiqueras les utilisateurs qui ont accès à l’application avec leur rôle associé :

    • Utilisateur (de type User)
    • Rôle (de type Choice) avec les différents rôles :
      • RMO

    Dans ton formulaire, sur le App.OnStart tu récupères le rôle de l’utilisateur connecté avec le code suivant :

    <code class="language-plaintext">Set(gloUserRole; LookUp(AppUsers; Utilisateur.Email = User().Email).Rôle)

    Ensuite, sur les datacards de tes champs tu peux utiliser cette variable globale gloUserRole pour limiter l’accès aux champs. Par exemple, sur la propriété DisplayMode d’un champ qui ne doit être accessible qu’au RMO :

    <code class="language-plaintext">If(
      SharePointForm1.Mode = FormMode.View;
      DisplayMode.View;
      If(
        gloUserRole = "RMO";
        DisplayMode.Edit;
        DisplayMode.Disabled
      )
    )

    En espérant t’avoir aidé…

    • Marielle

      Member
      8 janvier 2024 at 9h49

      Waoh ! Merci R3dKap pour ton retour

      Il faut absolument que je teste ça.

      Je te ferai un retour.

      Merci beaucoup

Connectez-vous pour répondre.