Разрешение на запись в список веб-частей SharePoint - PullRequest
3 голосов
/ 15 марта 2011

Я создал веб-часть викторины в SharePoint 2007, но застрял на одном разрешении. Нужно записать оценку теста в список, который теперь выдает ошибку при попытке. Я предполагаю, что, если веб-часть имеет соответствующий уровень разрешений, разрешения пользователя (пользователя теста) не имеют значения.

Есть ли какое-то конкретное разрешение, которое должно позволить веб-части писать в список? В частности:

 SPListItem item = listItems.Add();

1 Ответ

2 голосов
/ 15 марта 2011

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

SPSecurity.RunWithElevatedPrivileges(WriteToList);

private void WriteToList()
{
    // create new SPSite and SPWeb objects.  This is important, if you 
    // don't then the write won't use the elevated privileges.
    using(SPSite site = new SPSite(SPContext.Current.Site.ID))
    {
        using(SPWeb web = site.OpenWeb(SPContext.Current.Web.ID))
        {
            // Code to Write to the list.
        }
    }
}

Для получения дополнительной информации см. http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsecurity.runwithelevatedprivileges.aspx

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