Доступ к API-интерфейсу SharePoint в качестве именованного пользователя из веб-приложения ASP.Net с использованием анонимного доступа - PullRequest
0 голосов
/ 20 июля 2010

Вот сценарий: У нас есть внешний экземпляр SharePoint с включенным анонимным доступом. Мы хотим, чтобы библиотеки документов были открыты для общественности. Мы не хотим, чтобы пользовательские списки были открыты. Это было достаточно просто настроить.

Теперь мы хотим использовать эти списки для создания привлекательного внешнего веб-приложения ASP.Net. Для этого веб-сайта также необходимо включить анонимность.

Проблема в том, что нам нужно получить доступ к этим спискам из веб-приложения, не открывая их для анонимного доступа.

Мы хотим использовать API (а не веб-службы), поскольку он будет размещаться в тех же самых блоках.

До сих пор мы не смогли создать SPUser с соответствующим доступом для открытия списков.

SPContext пуст.

Делать это тоже не получается: SPSite temp = новый SPSite (URL); SPUserToken token = temp.SystemAccount.UserToken;

SPSite site = новый SPSite (URL, токен); ... делать вещи как пользователь.

RunWithElevatedPrivileges также завершается ошибкой.

Пожалуйста, помогите!

1 Ответ

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

Есть ли шанс, что вы используете SharePoint 2010?У них есть больше возможностей для доступа из других приложений.Если не в 2010 году, вам придется использовать какой-либо веб-сервис, будь то OTB или ваш собственный веб-сервис, который инкапсулирует вашу логику, поскольку SP OM не будет работать на блоках, отличных от SharePoint.Независимо от этого, вы можете попробовать получить SPToken из пула приложений.По сути,

SPUserToken sysToken = SPContext.Current.Site.SystemAccount.UserToken;
using(var systemSite = new SPSite(SPContext.Current.Site.ID, sysToken))

Даниэль Ларсон - большой сторонник этого подхода по сравнению с использованием RunWithElevatedPriveleges.Посмотрите его сообщение в блоге по этому вопросу.

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