2010-01-21 3 views
1

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

Проблема заключается в том, что, когда я использую метод UpdateListItems для отправки новой записи, Sharepoint автоматически присваивает поле «Создано» (Author) как «Системная учетная запись», и это предотвращает запуск рабочей строки, созданной с помощью Sharepoint Дизайнер. Я попытался принудительно создать поле «Создано» во время отправки, добавив к моему идентификатору номер партии: #person имя пользователя

но он все равно покажет «Системную учетную запись» !!

Любые идеи !?

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

ответ

1

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

Вам нужен пользователь на сайте, у которого есть правильный доступ, который вы можете имитировать. Посмотрите на конструктор 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

Я должен использовать пространство имен microsoft.sharepoint вместо веб-службы, поэтому мне нужно внести некоторые изменения в мой код, но это было сделано! ... поблагодарить u zincorp! – nego

0

Вариант 1: «обновление рабочего процесса»

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

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

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

Смежные вопросы