Разрешения элемента списка SharePoint

I want to programmatically make it so that users can see only particuar items on the list.

В основном в рабочем процессе, который запускается при создании элемента, я собираюсь сделать что-то и уведомить некоторых людей об этом элементе. Я также хочу, чтобы он изменил права доступа к элементу, чтобы его могли прочитать только определенные пользователи (просмотрел время выполнения на основе содержимого элементов). Остальные пользователи, имеющие доступ к списку, увидят только определенные элементы, но не все из них. Элемент списка не обязательно должен принадлежать, но пользователю (-ям), который должен его видеть, поэтому я не могу установить разрешения на просмотр списка, чтобы пользователи могли видеть только свои собственные элементы.

To put this into context if it helps- The list is registering job roles to a particular member. Every list item is a role assignment that contains a lookup to a role in the roles list and a lookup to a member in the members list. I'm not directly using a multilookup field in the members list for roles because each role assignment needs extra information held about it such as a description, a start date ect. Each role has a particular user/group that manages it. I want it so that when going to this big list of role assignments, a user can only see the role assignments for the roles that they are the manager of.

Совет будет высоко ценится.

Ответы на вопрос(1)

Решение Вопроса

Вы можете назначить разрешения для отдельных элементов списка. Например

        // get list item
        SPListItem item = <your list item>;
        if (!item.HasUniqueRoleAssignments)
        {
            item.BreakRoleInheritance(true);
        }

        // get principal
        SPPrincipal principal = <principal to grant permissions to>;

        // get role definition
        SPRoleDefinition rd = <role that contains the permissions to be granted to the principal>;

        // create role assignment
        SPRoleAssignment ra = new SPRoleAssignment(principal);
        ra.RoleDefinitionBindings.Add(rd);
        item.RoleAssignments.Add(ra);

Но будьте осторожны с производительностью и эксплуатационными последствиями назначения разрешений для каждого элемента списка.

В общем, я бы предпочел

Permissions assigned no deeper than the list level As much as possible, assign permissions to groups and then include individual users into those groups.
 01 июл. 2009 г., 17:06
Также этот вопрос / ответы могут помочь:stackoverflow.com/questions/1058232

Ваш ответ на вопрос