Метод UpdateListItem и системная учетная запись - PullRequest
1 голос
/ 21 января 2010

Я разработал приложение Help Desk в Visual Studio, которое использует список Sharepoint List для хранения данных.

Моя проблема заключается в том, что когда я использую метод UpdateListItems для отправки новой записи, Sharepoint автоматически назначает поле «Создано» (Автор) как «Системная учетная запись», и это предотвращает запуск рабочего процесса, созданного с помощью Sharepoint Designer. , Я пытался принудительно заполнить поле «Создано» во время отправки, добавив в свой пакетный идентификатор пользователя; #person username

но все равно будет отображаться "Системная учетная запись" !!

Есть идеи!?

извините за мой плохой английский: (* ​​1009 *

Ответы [ 2 ]

1 голос
/ 21 января 2010

Рассматривали ли вы использование олицетворения для обновления элемента списка?

Вам нужен пользователь на сайте, который имеет правильный доступ, который вы можете выдать за себя. Посмотрите на конструктор SPSite, который передается в SPUserToken.

SPUserToken token = targetWeb.AllUsers["BobTheImpersonationAccount"].UserToken;
using(SPSite impersonatedSite = new SPSite("http://siteurl", token))
{
    //Anything accessed through impersonatedSite and its child objects are now executing under the guise of BobTheImpersonationAccount

}
0 голосов
/ 21 января 2010

Вариант 1: «Обновить рабочий процесс»

Я бы не советовал пытаться изменить поле «Создано». Вместо этого создайте новых людей поле (с именем Submitter или что-то) в вашем списке и заполнить его с пользователем. Рабочий процесс должен использовать поле «Отправитель» вместо «Создано».

Вариант 2: «Обновить код»

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...