программный доступ к спискам sharepoint с помощью олицетворения - PullRequest
0 голосов
/ 07 июля 2010

Я создаю консольное приложение, которое запускается под обычной учетной записью пользователя для программного доступа к спискам sharepoint. Чтобы получить доступ к объектам Sharepoint, консольное приложение олицетворяет пользователя, в контексте которого запущен Sharepoint. Олицетворение прошло успешно, но когда я пытаюсь получить доступ к любому объекту SPWeb точки общего доступа, следующая ошибка выдается следующим образом spWeb.ID = 'spWeb.ID' вызвал исключение типа 'System.Data.SqlClient.SqlException' base {System.Data.Common.DbException} = {"Невозможно открыть базу данных \" WSS_Content_92 \ ", запрошенную при входе в систему. Ошибка при входе. \ r \ nПросмотр журнала для пользователя 'DOM \ USER'."}

Разве имеризация не должна была разрешить доступ к базовой базе данных, а также мне нужно явно предоставить доступ текущему пользователю для предоставления доступа к спискам sharepoint и т. Д.

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 07 июля 2010

Запуск консольного приложения в контексте того же пользователя, что и пул приложений, сделал свое дело.Поэтому решение будет использовать команду runas.

0 голосов
/ 07 июля 2010

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

http://technet.microsoft.com/en-us/library/cc721638(office.12).aspx

Это отличается от веб-приложения, где используемая учетная запись является учетной записью AppDomain.сайта IIS.

Однако - это очень нестандартная установка и сопряжена с угрозами безопасности - вы действительно хотите дать своим пользователям разрешение на прямой доступ к этой базе данных?

Вместо этогомогу ли я предложить вам еще раз взглянуть на свой дизайн - чего вы пытаетесь достичь?

...