0

J'ai le scénario suivant: Mon Add-In permet d'écrire des messages. Tout utilisateur peut "J'aime" ce message. Ces goûts sont enregistrés dans une liste.Comment protéger SharePoint-List-Contents dans un complément hébergé par SharePoint?

Bien sûr, le complément a besoin d'une autorisation pour écrire cette entrée dans une liste. Mais comme (IMHO) je ne peux pas utiliser des privilèges élevés dans un complément hébergé par SharePoint, l'utilisateur doit avoir cette autorisation, non? Donc, comment puis-je protéger mes listes que l'utilisateur ne va pas simplement dans la liste et modifie lui-même la valeur et augmente le "j'aime" par exemple?

(remarque: c'est pas de scénario dans le monde réel Je sais qu'il ya de meilleures façons d'utiliser un réseau fait social juste voulu briser mon bien l'application plus complexe..)

Répondre

0

Le complément hébergé par SharePoint ne peut pas utiliser la stratégie App only en tant que complément hébergé par le fournisseur pour utiliser le contexte de complément avec plus de permissions que l'utilisateur. Le complément hébergé par SharePoint s'exécute complètement dans le contexte de l'utilisateur actuel.

Je vois 3 solutions possibles:

  1. restaurera le complément à fournisseur hébergé)
  2. Mettre en oeuvre un service Web personnalisé et appelant ce service web à partir de votre complément. Ce service Web peut stocker des informations sensibles dans une base de données personnalisée ou dans le site Web de l'application avec des autorisations personnalisées. Mais rappelez-vous que l'administrateur SP peut modifier ces autorisations.
  3. Stocke les informations semi-sensibles dans les propriétés étendues de l'élément. Il n'y a pas d'interface utilisateur permettant à l'utilisateur de manipuler avec, mais ce n'est pas aussi sécurisé que la permission. L'avantage de ceci est que cette information est directement reliée à l'article «affecté» et vous n'avez pas besoin de craindre de perdre la connexion entre l'article et le stockage semblable. Inconvénient: les propriétés étendues ne peuvent contenir qu'une quantité limitée de données et l'utilisateur doit avoir l'autorisation de mettre à jour l'élément. Vous pouvez également utiliser cette approche combinée avec votre liste.
0

Je voudrais faire de chaque utilisateur ' comme » cliquez sur créer un nouvel élément dans une liste qui a les autorisations de niveau d'objet ensemble à:

créer des objets et modifier des éléments qui ont été créés par l'utilisateur

de cette façon, même S'ils réussissaient à entrer dans l'arrière-plan et à se moquer de la liste, ils ne pourraient que changer les objets qu'ils ont créés.

Vous auriez juste besoin de gérer comment la liste se développe au fil du temps en fonction de l'échelle de l'application.

0

Vous avez raison. L'utilisateur aurait besoin de quelque chose comme des autorisations "Contribute" pour accomplir ce dont vous parlez. Personnellement, voici ce que je ferais ...

1) Assurez-vous que la liste que je veux protéger a un nom obscur. N'oubliez pas que l'interface utilisateur n'est pas la même que sur le site Web hôte (c'est-à-dire le contenu du site). L'utilisateur n'a jamais besoin de savoir dans quelle liste ces données sont stockées. En allant un peu plus loin, les liens entre les listes pourraient être faits par quelque chose comme un GUID au lieu de quelque chose d'évident comme "Titre", rendant plus difficile de déterminer exactement comment les données se rapportent.

https://sharepoint.stackexchange.com/questions/96360/hide-list-from-browser-site-lists-lisname

2) Supprimer toutes les vues dans vos listes sensibles. Cela empêcherait la navigation dans le navigateur. Ces listes seraient modifiées via REST ou CSOM, vous n'avez donc pas besoin d'elles.

3) Je n'ai pas testé cette solution possible, mais cela peut fonctionner. Vous devriez pouvoir configurer edit.aspx (ou créer votre propre custom) de sorte que même si l'utilisateur a dépassé les étapes 1 et 2, il n'y avait pas de champs disponibles pour éditer de toute façon ...

Ces méthodes ne pas manipuler les autorisations à la liste de toute façon et à la fin, tout cela est des autorisations par l'obscurité.