DLFileEntry
httpservlet を使用して (http://docs.liferay.com/portal/6.0/javadocs/com/liferay/portlet/documentlibrary/model/DLFileEntry.html) から contentStream を取得する方法を知っている人はいますか?
使用しDLFileEntry.getContentStream()
てみましたが、エラーが発生して失敗します
com.liferay.portal.security.auth.PrincipalException: PermissionChecker not initialized
userId をハードコードする設定の問題を部分的に解決しました。
long userId=2
PrincipalThreadLocal.setName(userId);
User user = UserLocalServiceUtil.getUserById(userId);
PermissionChecker permissionChecker;
permissionChecker = PermissionCheckerFactoryUtil.create(user, false);
PermissionThreadLocal.setPermissionChecker(permissionChecker);
このソリューションの問題は、実際の userId を取得する方法と、ユーザーがゲストの場合にどうなるかということです。
Long.parseLong(req.getRemoteUser()); を試しました しかし、また失敗します。