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 à 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

    • Cette discussion a été modifiée Il y a 2 mois par  Marielle.
    Marielle a répondu Il y a 1 mois, 2 semaines 2 Membres · 4 Réponses
  • 4 Réponses
  • R3dKap

    Membre
    30 décembre 2023 à 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

      Membre
      5 janvier 2024 à 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

    Membre
    7 janvier 2024 à 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

      Membre
      8 janvier 2024 à 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.