Rufen Sie Listenelemente ab, auch wenn der Benutzer keinen Zugriff auf diese Elemente hat
-
09-12-2019 - |
Frage
Gibt es eine Möglichkeit, Elemente aus einer Liste abzurufen, auch wenn der aktuelle Benutzer keinen Zugriff darauf hat? SPSecurity.RunWithElevatedPrivileges
scheint nicht zu funktionieren!
Ich habe einen Sonderfall, in dem ich auf einige Elemente aus einer Liste zugreifen muss, Elemente, die einen bestimmten Filter berücksichtigen.Der Filter kann Elemente zurückgeben, die anderen Benutzern gehören, diese werden jedoch nicht zurückgegeben.
Aber ich brauche sie, um einige Informationen zu sammeln und sie dem Benutzer anzuzeigen!Der Benutzer sieht die Elemente, auf die er keinen Zugriff hat, nicht, aber die von mir angezeigten Informationen müssen sie berücksichtigen.
Ist dies möglich, ohne Berechtigungen programmgesteuert festzulegen/zu entfernen?
Lösung
Also, SPSecurity.RunWithElevatedPrivileges
sollte den Zweck erfüllen.Stellen Sie sicher, dass Sie innerhalb des erhöhten Codeblocks eine neue SPSite/SPWeb erstellen:
var siteId = SPContext.Current.Site.ID;
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(siteId))
{
//do things on the new site object
}
});