对Liferay 7.1实施权限

时间:2018-10-10 12:28:21

标签: liferay osgi liferay-dxp liferay-7.1

我正在尝试在Liferay 7.1上实现权限(资源和模型的权限)。我注意到BaseModelPermissionChecker现在已过时(因此,我不应该让我的权限类扩展它)。因此,我尝试按照Liferay official tutorial
中的指示进行操作 但是,在部署osgi服务时,OSGI容器指示以下错误(针对模型和资源许可):

ERROR [Refresh Thread: Equinox Container: 80bbc977-c7cb-0018-1000-82f21869d6ec][com_liferay_training_space_gradebook_service:97] [com.a.b.c.service.permission.MyEntityPermission(3887)] Field _portletResourcePermission in component class com.a.b.c.service.permission.MyEntityPermission must not be static.

您遇到了这个错误吗?我跳过了什么吗?

编辑

已创建组件:

@Component(immediate = true, service = {})
public class BookResourcePermission {

public static final String ADD_BOOK = "ADD_BOOK";

@Reference(target = "(resource.name=com.x.y.mybook.model)", unbind = "-")
protected static void setPortletResourcePermission(PortletResourcePermission portletResourcePermission) {
    _portletResourcePermission = portletResourcePermission;
}

public static boolean contains(PermissionChecker permissionChecker, long groupId, String actionId) {
    return _portletResourcePermission.contains(permissionChecker, groupId, actionId);
}

private static PortletResourcePermission _portletResourcePermission;
}

谢谢!

0 个答案:

没有答案