Ошибка Alfresco getPath: репозиторий не вернул cmis:path

Когда я вхожу в систему как обычный пользователь и звоню:

Folder rootFolder = (Folder) cmisSession.getObject(parentFolderId);
rootFolder.getPath(); //THIS LINE GIVE ME THE ERROR

в папке я получаю эту ошибку:

org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException: Репозиторий не вернул cmis:path!

rootFolder кажется допустимым и не нулевым.

Но если вместо обычного пользователя я использую администратора, все работает нормально. Нет ошибок.

Я предполагаю, что у папки правильная авторизация (иначе я получу исключение авторизации cmis). Я создал папку из панели управления администратора и предоставил авторизацию группе, к которой принадлежит мой пользователь.

Для вызова getPath() я использую библиотеку: chemistry-opencmis-client-impl-0.10.0.jar

Edit1 09:45: Объекты: скриншот

Edit2 09:58: Если я назначу группе роль менеджера, метод getPath() будет работать нормально. (С ролью: потребитель, участник и соавтор это не работает, как обычно).

Edit3 12:19 07/07/2018: Другая конфигурация:

Каталог (я пытался предоставить группе роль менеджера для каталога, но это не работает): каталог

Конфигурация пользователя (если в диспетчере сайтов я назначаю роль менеджера пользователю, это работает): Конфигурация пользователя

Конфигурация группы от менеджера сайта (если я назначаю роль менеджера группе, она работает): Конфигурация группы из менеджера сайта

Что мне не хватает?


person Accollativo    schedule 18.04.2018    source источник
comment
Вы можете поставить точку останова в этой строке специально, чтобы увидеть объект?   -  person Akah    schedule 18.04.2018
comment
@Akah да, я отредактировал сообщение   -  person Accollativo    schedule 19.04.2018


Ответы (2)


Скорее всего, у вашего «обычного» пользователя нет прав доступа к чему-либо в дереве иерархии. Это актуально, потому что путь не является метаданными, хранящимися в базе данных, он в основном «вычисляется», когда вы его запрашиваете.

При переходе вверх по пути иерархии вы, скорее всего, окажетесь на узле, для которого у вас нет разрешений.

person Lista    schedule 18.04.2018
comment
Хорошо, но как я могу это решить? Я назначил пользователя в группу A, и группа A имела право доступа к каталогу. - person Accollativo; 19.04.2018
comment
Убедитесь, что у группы А есть доступ как минимум к каждой папке в иерархии. - person Jeff Potts; 23.04.2018
comment
Это странно, некоторые настройки в Alfresco изменились (возможно, они были переопределены в тесте из другой среды). Я снова добавил пользователя в группу, но теперь у меня та же проблема, что и раньше. Это работает, только если я назначаю группе роль менеджера. @ДжеффПоттс - person Accollativo; 07.05.2018

Группа была добавлена ​​автоматически через LDAP, и если вы искали ее в разделе Пользователи и группы -> Группа, вы могли ее найти. Но в панели Управление сайтом не было. Таким образом, добавление его из Менеджера сайтов решило мою проблему.

person Accollativo    schedule 02.05.2018