我想检查当前用户是否有权更新期刊文章。为此,我想从自定义portlet调用JournalArticlePermission.check(),但从portlet的类加载器无法访问类JournalArticlePermission。
调用
return permissionChecker.hasPermission(groupId, jaClassName, resourcePrimKey, ActionKeys.UPDATE);
有效,但它绕过了helper类中实现的所有暂存逻辑。
检查期刊文章权限的干净方法是什么?
与这里发布在防扩散论坛上的问题相同,但我不完全相信所提出的答案,即使用PortalClassInvoker
。
似乎没有真正的"干净"方法来做到这一点。
权限助手类是门户impl包的一部分,因此不能直接在自定义portlet中使用,正如本线程在liferay论坛上讨论的那样,Harish Kumar和David H Nebinger提供了宝贵的意见。
选项包括:
-
从核心助手类复制粘贴逻辑,对维护有明显的影响
-
绕过helper代码,直接转到较低级别的检查,保留潜在的有价值的检查(如暂存权限)。