如何从自定义portlet访问JournalArticlePermission



我想检查当前用户是否有权更新期刊文章。为此,我想从自定义portlet调用JournalArticlePermission.check(),但从portlet的类加载器无法访问类JournalArticlePermission。

调用

return permissionChecker.hasPermission(groupId, jaClassName, resourcePrimKey, ActionKeys.UPDATE);

有效,但它绕过了helper类中实现的所有暂存逻辑。

检查期刊文章权限的干净方法是什么?

与这里发布在防扩散论坛上的问题相同,但我不完全相信所提出的答案,即使用PortalClassInvoker

似乎没有真正的"干净"方法来做到这一点。

权限助手类是门户impl包的一部分,因此不能直接在自定义portlet中使用,正如本线程在liferay论坛上讨论的那样,Harish Kumar和David H Nebinger提供了宝贵的意见。

选项包括:

  • 从核心助手类复制粘贴逻辑,对维护有明显的影响

  • 绕过helper代码,直接转到较低级别的检查,保留潜在的有价值的检查(如暂存权限)。

最新更新