Java Liferay 7:获取组织自定义字段时未初始化PermissionChecker

Java Liferay 7:获取组织自定义字段时未初始化PermissionChecker,java,security,exception,liferay-7,expando,Java,Security,Exception,Liferay 7,Expando,我已经在Liferay 7门户中为组织创建了自定义字段。现在我想获取自定义字段的值并获取PrincipalException-PermissionChecker未初始化: Long userId = (Long) req.getSession().getAttribute(WebKeys.USER_ID); List<Organization> mylist = OrganizationLocalServiceUtil.getUserOrganizations(use

我已经在Liferay 7门户中为组织创建了自定义字段。现在我想获取自定义字段的值并获取PrincipalException-PermissionChecker未初始化:

    Long userId = (Long) req.getSession().getAttribute(WebKeys.USER_ID);
    List<Organization> mylist = OrganizationLocalServiceUtil.getUserOrganizations(userId);
    if (!mylist.isEmpty()) {

        Organization organization = mylist.get(0);

        String orgUrl = group.getFriendlyURL();

>>>     ExpandoBridge expandoBridge = organization.getExpandoBridge();
        System.out.println(expandoBridge.getAttribute("custom_field"));
    }

收到同事的答复。现在它开始工作了。 将guest的自定义字段权限设置为true并添加此代码

try {
            User user = (User) req.getAttribute(WebKeys.USER);
            PrincipalThreadLocal.setName(userId);
            PermissionChecker permissionChecker;

            permissionChecker = PermissionCheckerFactoryUtil.create(user);
            PermissionThreadLocal.setPermissionChecker(permissionChecker);

            Organization organization = mylist.get(0);

            ExpandoBridge expandoBridge = organization.getExpandoBridge();
            System.out.println(expandoBridge.getAttribute("custom_field"));
} catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
}

我将安全管理器expando bridge=com.liferay.portal.kernel.model.Organization添加到liferay-plugin-package.properties中,但PermissionChecker仍然存在问题
try {
            User user = (User) req.getAttribute(WebKeys.USER);
            PrincipalThreadLocal.setName(userId);
            PermissionChecker permissionChecker;

            permissionChecker = PermissionCheckerFactoryUtil.create(user);
            PermissionThreadLocal.setPermissionChecker(permissionChecker);

            Organization organization = mylist.get(0);

            ExpandoBridge expandoBridge = organization.getExpandoBridge();
            System.out.println(expandoBridge.getAttribute("custom_field"));
} catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
}