Foren

Home » Liferay Portal » Deutsch

Kombinierte Ansicht Flache Ansicht Baumansicht
Threads [ Zurück | Nächste ]
toggle
Ricco Serfling
Datei Permissions über Webservice-API auslesen
22. März 2013 02:27
Antwort

Ricco Serfling

Rang: New Member

Nachrichten: 2

Eintrittsdatum: 25. Februar 2013

Neue Beiträge

Hallo,
ich schreibe einen Indexierungsdienst der Liferay Daten über die Webservice API indexiert. Dabei sollen die Rechte aus Liferay übernommen werden, d.h wenn Nutzer X im Liferay die Datei A sehen darf aber die nicht Datei B, sollen diese Beschränkungen auch über den Indexierungsdienst wirken. Die Rechte müssen hierbei schon zur Indexierungszeit augelesen werden. Weiterhin lese ich die Daten über einen Admin Account aus, womit ich eigtlich auf alles Zugriff haben sollte.

Jetzt zum Problem:
Wie ich über die API an die Dateien und Nutzer komme ist mir klar, leider finde ich keine Möglichkeit die Permissions auszulesen.
Gibt es eine Möglichkeit die gesetzten Permissions für eine Datei remote auszulesen oder ist das einfach nicht in der API vorgesehen?

Danke
Olaf Kock
RE: Datei Permissions über Webservice-API auslesen
22. März 2013 09:30
Antwort

Olaf Kock

LIFERAY STAFF

Rang: Liferay Legend

Nachrichten: 1808

Eintrittsdatum: 23. September 2008

Neue Beiträge

Da Rechte in Liferay stets über Rollen vergeben werden (die auch indirekt über Usergroups und Organisationen vergeben werden können) führt der Weg über diese: Der Inhalt wird für bestimmte Rollen verfügbar gemacht, Benutzer haben diese Rollen - explizit oder implizit.

Eine alternative Möglichkeit, die indizierung zu implementieren ist übrigens ein Hook, der direkt in die Indizierung eingreift. Dazu kommt der folgende Code in liferay-hook.xml

1<indexer-post-processor>
2    <indexer-class-name>com.liferay.portal.model.User</indexer-class-name>
3    <indexer-post-processor-impl>com.example.hook.indexer.UserIndexerPostProcessor</indexer-post-processor-impl>
4</indexer-post-processor>


Die zu implementierende Klasse erbt von com.liferay.portal.kernel.search.BaseIndexerPostProcessor, dann wird bei jedem Indizierungsvorgang eines Objektes der angegebenen Klasse der eigene Code aufgerufen. Allerdings löst das das zugrundeliegende Problem nicht - Obwohl ich die APIs nicht direkt genannt habe, hoffe ich, dass die Richtung für's erste hilft.
Ricco Serfling
RE: Datei Permissions über Webservice-API auslesen
26. März 2013 03:45
Antwort

Ricco Serfling

Rang: New Member

Nachrichten: 2

Eintrittsdatum: 25. Februar 2013

Neue Beiträge

Danke ersteinmal für die Antwort.
Ich hätte vllt. noch anmerken sollen das Eingriffe/Modifikationen von Liferay auszuschließen sind, weswegen der Hook als Lösung von vornherein ausfällt.

Dass Liferay bei den Berechtigungen über Rollen arbeitet ist mir schon bewusst. Das Problem ist, dass ich über die DLFileEntrySoap keine Rollenberechtigungen erhalte und über die RoleSoap keine Dateien. Oder überseh ich da etwas?

Überdies scheint PermissionServiceSoap seit algorithm 6 obsolet zu sein, da hier Ressourcen verlangt werden.

Ich brauche auch nicht alle permissions,es reicht wenn ich herausbekomme wer Lesezugriff besitzt.