Реализация разрешений на Liferay 7.1 - PullRequest
0 голосов
/ 10 октября 2018

Я пытаюсь реализовать разрешения (ресурсы и модели) на Liferay 7.1.Я заметил, что BaseModelPermissionChecker теперь устарел (поэтому я не должен расширять его классы разрешений).Поэтому я попытался сделать, как указано в Официальном руководстве Liferay
Однако при развертывании моих служб 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;
}

Спасибо!

...