2010-12-27 3 views
1

J'ai un flux de travail personnalisé. Ce workflow supprime les autorisations sur les éléments lorsqu'un élément est ajouté (par exemple, un élément est ajouté par un compte de service et une fois ajouté, ces autorisations doivent être supprimées de cet élément). Cela fonctionne car j'ai le compte de service "codé en dur" dans le flux de travail personnalisé.Autorisations SharePoint

Maintenant je voudrais enlever ce codage dur et quand un article est ajouté à une liste je voudrais itérer par tous les utilisateurs qui ont accès à l'article de liste. Si un utilisateur correspond à un algorithme, supprimez cet utilisateur des permissions de l'élément qui seront de 0 à plusieurs.

La pièce avec laquelle je suis en train de traîner est de savoir comment parcourir tous les utilisateurs avec la permission d'un SPListItem. Des pensées sur la façon d'accomplir cela?

Merci d'avance!

Répondre

0

Vérifiez la SPListItem.RoleAssignments property qui est une collection d'objets SPRoleAssignment. La propriété Member représente ensuite un objet spécifique SPUser ou SPGroup auquel sont affectées des autorisations spécifiques par rapport à l'élément de liste donné en le liant à une collection de définitions de rôles. Dans votre cas, vous devez effectuer une itération sur toutes les attributions de rôle disponibles, inspecter celles qui correspondent aux principaux (utilisateurs ou groupes) correspondant à vos critères et réorganiser les attributions de rôle d'une manière conforme à la stratégie de sécurité souhaitée.

0

Je pense que je viens de trouver la réponse à cette question. Je peux itérer la collection RoleAssignments et effectuer ma vérification sur celle-ci. Si quelqu'un a une autre d'autres idées que je serais curieux d'entendre parler :)

Thanks1

Questions connexes