Получить элементы списка, даже если у пользователя нет доступа к этим элементам
-
09-12-2019 - |
Вопрос
Есть ли способ получить элементы из списка, даже если текущий пользователь фактически не имеет к ним доступа? SPSecurity.RunWithElevatedPrivileges
похоже не работает!
У меня есть особый случай, когда мне нужно получить доступ к некоторым элементам из списка, элементам, которые соответствуют определенному фильтру.Фильтр может возвращать элементы, принадлежащие другим пользователям, но они не возвращаются.
Но мне нужно, чтобы они собрали некоторую информацию и отобразили ее пользователю!Пользователь не увидит элементы, к которым у него нет доступа, но информация, которую я показываю, должна их учитывать.
Можно ли это сделать без установки/удаления разрешений программно?
Решение
Хорошо, SPSecurity.RunWithElevatedPrivileges
должен сделать свое дело.Убедитесь, что вы создаете новый SPSite/SPWeb в блоке кода с повышенными правами:
var siteId = SPContext.Current.Site.ID;
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(siteId))
{
//do things on the new site object
}
});