SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




CAML Query mit ElevatedPriviledges

Geprüfte Antwort Dieser Beitrag hat 2 Antworten

Ohne Rang
1714 Beiträge
C.Kaiser erstellt 1 Dez. 2010 16:52
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

ich habe mir eine CAML Query zusammengebaut, welche bestimmte Dokumente aus einer Dokumentenbibliothek holt (Filterspalte ist eine LookupMulti). Soweit funktionierts auch, allerdings sollen nun die Dokumente versioniert werden.

CAML verhält ich ja im Standard leider so, dass es immer die letzte Version, egal ob Minor oder Major, holt. Hat ein User nun nicht genug Rechte im die Minor-Version zu lesen, gibt CAML, als ResiltSet ebenfalls "null" zurück, da ich zumindet die derzeitige Major Version brauche,

Nun war die erste Überlegung die Query unter "ElevatedPriviledges" laufen zu lassen, damit ich die Majors bekomme. Allerdings ist das ResultSet immernoch null...

Weiß jemand wie ich nur an die Major-Versionen drankomme? Ein FullTextQuery gegen die Datenbank würde ich ungerne machen, da noch nicht gemacht :-)

 

Alle Antworten

Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 1 Dez. 2010 17:15
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

... Das SPSite Objekt muss komplett neu erstellt werden

Folgender Code reicht nicht:
SPSecurity.RunWithElevatedPriviledges(delegate()
{
    using(SPWeb web = SPContext.Current.Web)
    {
        ...
    }
}

Es muss lauten (oder ähnlich):
SPSecurity.RunWithElevatedPriviledges(delegate()
{
    using(SPWeb web = new SPSite(SPContext.Current.Web.Url).Rootweb)
    {
        ...
    }
}

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 2 Dez. 2010 08:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das gilt immer, wenn man mit RunWithElevatedPriviledges arbeitet, d.h. man muß immer alle Objekte ausgehend von SPSite neu erzeugen.

Viele Grüße
Andi
af @ evocom de
Blog