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.




Selbsterstelltes WebPart - Rechteproblem

Geprüfte Antwort Dieser Beitrag hat 4 Antworten

Ohne Rang
23 Beiträge
Caro erstellt 11 Okt. 2012 12:54
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich habe ein Webpart entwickelt, welches mir eine Liste mit Dokumenten erstellt, die auf verschiedenen Websites und verschiedenen Dokumentenlisten verteilt sind.

Eigentlich eine Aufgabe für ein ContentQuery-WebPart. Da wir jedoch die Foundation 2010 einsetzen, steht mir dieses nicht zu Verfügung.

Das WebPart funktioniert recht gut...bis zu einem Punkt.

Wir haben die Seite für den anonymen Zugriff eingestellt. Das WebPart soll bei einen anonymen Nutzer auch nur Dokumente anzeigen, welche für den anonymen Nutzer freigegeben sind. Sind keine Dokumente für den anonymen Zugriff vorhanden, sollen auch keine angezeigt werden.

Sobald ich jedoch im Quellcode über eine SPQuery auf die Listen zugreife, wird für den Nutzer eine Anmeldung erzwungen. Wie verhinder ich diese Zwangsanmeldung, bzw. wie lege ich fest, dass die Abfrage auf die Liste bei anonymen Rechten bleibt?

Ist der Nutzer angemeldet, gibt die Abfrage auch nur die Dokumente zurück auf die der Nutzer rechte hat.

Danke im Voraus...

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 11 Okt. 2012 13:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Benutzt Du wirklich SPQuery mit einer selbstdefinierten CAML? Oder benutzt Du Linq to SharePoint? Das unterstützt nämlich keine anonymen Benutzer (siehe hier http://msdn.microsoft.com/en-us/library/ff798485.aspx).

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
23 Beiträge
Caro Als Antwort am 11 Okt. 2012 13:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich benutze SPQuery mit Caml.

In etwa so:
<View Scope='Recursive'>
<Query><Where>
<Gt><FieldRef Name='Modified'/><Value IncludeTimeValue='FALSE' Type='DateTime'>" + datum + "</Value></Gt>
</Where>
<OrderBy><FieldRef Name='Modified' Ascending='FALSE'/></OrderBy></Query>
</View>

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 11 Okt. 2012 14:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Dann habe ich keine Idee, warum das nicht funktioniert :-(

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
23 Beiträge
Caro Als Antwort am 11 Okt. 2012 19:59
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich hab eine Lösung.

Das Problem der Benutzeranmeldung tritt nicht bei der Abfrage über SPQuery auf, sondern beim Zugriff auf die zurückgegebenen ListItems.
Hier wird im Benutzerkontext auf das Item zugegriffen. Da der Benutzer bei einem anonymen Nutzer 'Null' ist, wird eine Anmeldung erzwungen.

Die Lösung ist, vor dem Zugriff auf die SPSite und/oder auf das SPListItem über "Item.DoesUserHavePermission(SPBasePermission.Open)" zu
überprüfen, ob der User Zugriffsrechte hätte. Wenn nicht, wird auch nicht zugegriffen.

Ich kann mit dieser Lösung arbeiten.

Vielleicht hat jemand noch eine bessere Lösung.