Рабочий процесс не может назначить задачу пользователю в другом Active Directory OU?

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/15182

  •  16-10-2019
  •  | 
  •  

Вопрос

Я пытаюсь создать задачу в рабочем процессе VS 2010 и назначить ее одному из наших пользователей домена. Этот парень не пользователь коллекции сайтов, но я предполагаю, что он будет добавлен в SharePoint автоматически. Он также находится в другом отделении компании, где -то в Южной Африке. Код, который я использую, - это что -то вроде

    private void CreateTask_MethodInvoking(object sender, EventArgs e)
    {
        TaskProps = new SPWorkflowTaskProperties();
        TaskId = Guid.NewGuid();

        TaskProps.AssignedTo = @"MYDOMAIN\username";
        TaskProps.Title = "Sample task";
    }

После того, как я развернут и запускаю рабочий процесс, задача создается просто отлично, но поле «назначено» пустым. Журнал событий показывает, что «пользователь не существует или не является уникальным».

Кроме того, если я создам задачу вручную и помесчу MyDomain username в поле «Присвоено», оно создается без проблем, и пользователь импортируется в коллекцию сайтов. После этого рабочий процесс работает в порядке. Однако добавление каждого из наших 200+ доменных пользователей в коллекцию сайтов не является вариантом. Предложения?

Это было полезно?

Решение

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

  • Делайте, как предлагает Mbsurf, и добавьте пользователя в код
  • Поместите всех пользователей в группу в AD (если у вас еще нет) и назначьте группу на сайте SharePoint
  • Предоставьте разрешения «все аутентифицированные пользователи» в список задач, чтобы задачи могли быть назначены всем ...

Другие советы

В Моссе я бы сделал что -то вроде ниже:

        SPUser spUser = null;

        try
        {
            // Attempt to get the user first
            spUser = userCollection[user];
        }
        catch (Exception)
        {
            // The User does not exist, so we need to add them
            userCollection.Add(user, string.Empty, user, string.Empty);
            spUser = userCollection[user];
        }

Тогда я бы спас Спузера в поле, назначенном на поле.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top