Поделиться через


Несанкционированное получение прав

Дата последнего изменения: 7 апреля 2010 г.

Применимо к: SharePoint Foundation 2010

Несанкционированное получение прав — это возможность, добавленная в Windows SharePoint Services 3.0, которая позволяет программным образом выполнять в коде действия, использующие более высокий уровень привилегий. С помощью метода SPSecurity.RunWithElevatedPrivileges можно предоставить делегат, который выполняет часть кода в контексте учетной записи с более высокими привилегиями, чем имеющиеся у текущего пользователя.

Пример типичного использования RunWithElevatedPrivileges:

SPSecurity.RunWithElevatedPrivileges(delegate()
{
    // Do things by assuming the permission of the "system account".
});

Чтобы выполнить определенные действия в SharePoint, часто требуется получить новый объект SPSite, чтобы реализовать соответствующие изменения. Например:

SPSecurity.RunWithElevatedPrivileges(delegate()
{
    using (SPSite site = new SPSite(web.Site.ID))
    {
       // Do things by assuming the permission of the "system account".
    }
});

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

Важное примечаниеВажно!

Если в методе, который передается RunWithElevatedPrivileges, включены какие-либо операции записи, то перед вызовом RunWithElevatedPrivileges необходимо вызвать метод SPUtility.ValidateFormDigest() или SPWeb.ValidateFormDigest().

См. также

Концепции

Удостоверение на основе утверждений в SharePoint