Я разработки окна приложения, что переговоры с SharePoint с помощью встроенного в веб-сервисов, и я хочу, чтобы получить все типы контента, доступные на сайте SharePoint,Как получить Типы контента
Я пытаюсь использование
Web.Webs WebsService = new Web.Webs(); WebsService.Credentials = учетные данные; WebsService.Url = "URL-адрес веб-службы"; XmlNode listOfContentTypes = WebsService.GetContentTypes();
Если у учетных данных есть права администратора, я могу получить список всех доступных типов контента. Но если учетные данные не имеют прав администратора, генерируется исключение 401 (не достаточное разрешение).
Мой вопрос:
Как я могу получить все типы контента на сайте SharePoint, если у меня нет администратора?
У меня есть форма, в которой пользователи заполняют домен пользователя и пароль, затем я получаю идентификатор типа содержимого (который я буду использовать для запроса всех элементов, имеющих этот тип контента) из xml файл, расположенный в общем местоположении, где я не могу его изменить, и для создания этого запроса мне нужно знать имя типа контента из его идентификатора. Как может пользователь с привилегиями только для чтения узнать имя типа контента из его веб-идентификатор? В объектной модели проблема решена с помощью SpSecurity.RunWithelevatedprivilege ..., что мне нужно делать в веб-сервисах? можно ли получить типы веб-контента? – Gaby
Существует не эквивалент для SPSecurity.RunWithElevatedPrivileges, когда дело доходит до веб-служб, и не без оснований. Если бы это было так, любой мог написать программу, которая могла бы выполнять код на сервере SharePoint в качестве администратора без физического доступа к серверу. Это будет довольно серьезная дыра в безопасности. –