我想检查当前用户是否有权更新期刊文章。为此,我想从自定义portlet调用JournalArticlePermission.check(),但是我的portlet的类加载器无法访问类JournalArticlePermission。
调用
return permissionChecker.hasPermission(groupId, jaClassName, resourcePrimKey, ActionKeys.UPDATE);
可以工作,但它绕过了助手类中实现的所有暂存逻辑。
检查期刊文章权限的简洁方法是什么?
与发布here on liferay forums相同的问题,但并未完全确信所提出的答案,即使用PortalClassInvoker
。
答案 0 :(得分:0)
似乎没有真正“干净”的方法来做到这一点。
权限帮助程序类是portal-impl程序包的一部分,因此不能直接在自定义portlet中使用,如this thread on liferay forums中所述,并且有来自Harish Kumar和David H Nebinger的宝贵意见。
选项包括:
从核心助手类中复制粘贴逻辑,对维护产生明显影响
绕过帮助程序代码并直接进入较低级别的检查,留下可能有价值的检查(例如转移权限)。