SharePoint, выбрасывая исключение после подражания - PullRequest
1 голос
/ 26 февраля 2009

Мы олицетворяем пользователя SharePoint и пытаемся получить доступ к элементу списка.

using (SPSite site = new SPSite(BAH.SN.Properties.Settings.Default.RootSiteUrl, new SPUserToken(currentUser.ImpersonationToken)))
        {
            using (SPWeb web = site.RootWeb)
            {
                SPList list = web.GetList(BAH.SN.Properties.Settings.Default.CommunitiesListPath);
                if (list != null)
                {
                    SPQuery query = CAMLHelper.GetSPQueryForCommunityListByOwner(user.UserName);
                    SPListItemCollection items = list.GetItems(query);
                    if (items != null && items.Count > 0)
                    {
                        // Read here
                    }
                }
            }
        }

Мы можем получить дескриптор в списке, но как только мы пытаемся получить доступ к любому свойству SPListItemCollection "items", мы получаем исключение COM: 532459699.

Мы запускаем FBA, и пользователь, вызывающий этот код, является анонимным пользователем.

С уважением,

Ответы [ 2 ]

0 голосов
/ 11 июня 2009

SPSecurity.RunWithElevatedPrivileges запустит код в системной учетной записи. Это не решит его / ее проблему.

0 голосов
/ 27 февраля 2009

Вы пытались использовать ElevatedPrivileges вместо токена?

SPSecurity.RunWithElevatedPrivileges(delegate() { 
    //your code inside here, except use the SPSite ctor that only takes the url and get that frome SPContext:
    // new SPSite(SPContext.Current.Site.Url);
}

Также, пожалуйста, предоставьте полную трассировку стека, чтобы дать нам лучший способ помочь вам. Если вы не знаете, как включить это в web.config, проверьте одну из многочисленных публикаций в блоге по этому вопросу здесь .

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