Liferay von fileentry java file-Objekt
Jemand wissen, wie das abrufen einer contentStream aus einer DLFileEntry
(http://docs.liferay.com/portal/6.0/javadocs/com/liferay/portlet/documentlibrary/model/DLFileEntry.html durch ein httpservlet?
Versuchte ich mit DLFileEntry.getContentStream()
aber es versäumt, mir die Fehler
com.liferay.portal.security.auth.PrincipalException: PermissionChecker not initialized
Ich löste zum Teil das problem der Einstellung fest meine userId:
long userId=2
PrincipalThreadLocal.setName(userId);
User user = UserLocalServiceUtil.getUserById(userId);
PermissionChecker permissionChecker;
permissionChecker = PermissionCheckerFactoryUtil.create(user, false);
PermissionThreadLocal.setPermissionChecker(permissionChecker);
Das problem dieser Lösung ist, wie die Reale Benutzer-id, und wie geschehen, wenn der Benutzer ein Gast?
Ich Lange versucht.parseLong(req.getRemoteUser()); scheitern aber auch.
- Können Sie code hinzufügen, wie die DLFileEntry delegiert die FileEntryAdapter?
- Sind Sie versuchen, um Zugriff auf dieses Dokument Bibliothek über einen service? Auch welche version von Liferay verwenden Sie?
- liferay version 6.1
Du musst angemeldet sein, um einen Kommentar abzugeben.
gibt Sie die Datei. Haben Sie versucht, mit dieser?
Wenn Sie mit Liferay 6.1 die dann folgenden code erhalten Sie einen InputStream für die, Die DLFileEntry.
Howwever der Fehler, den du immer zu sein scheint, durch Sie nicht die Authentifizierung mit Liferay vor diesem Anruf an den server.
Wie nennst du diesen code?
Nutzen Sie bitte PermissionThreadLocal.getPermissionChecker (), um die permissionChecker-Objekt des aktuellen angemeldeten Benutzers mit dem aktuellen Zustand. Wenn der Benutzer guest, noch erhalten Sie die permissionChecker Objekt.
-Felix