Назад | Перейти на главную страницу

Как включить доступ для записи WebDAV в WebSphere Portal 8.0?

Как администратор в WebSphere Portal 8.0 я могу получать доступ к файлам, связанным с темами, и изменять их с помощью клиента WebDAV, подключенного к http://servername:10040/wps/mycontenthandler/dav/fs-type1.

Теперь я хочу предоставить другому пользователю доступ на запись к тем же файлам, но этот пользователь не должен быть администратором портала.
В документации IBM указано (на странице с названием Использование хранилища файлов WebDAV):

«Чтобы предоставить пользователям доступ на запись к ресурсам, содержащимся в этих папках, назначьте пользователям роль МЕНЕДЖЕР на виртуальном ресурсе УПРАВЛЕНИЕ ТЕМАМИ в управлении доступом к порталу. Менеджеры могут создавать, изменять или удалять такие ресурсы».

Раньше я успешно делал это с Portal 7.0, но это не работает в Portal 8.0.

Когда пользователь пытается изменить файл через Portal 8.0 WebDAV, операция завершается ошибкой, и файл SystemOut.log сервера содержит следующее сообщение:

com.ibm.wps.logging.ExceptionLogger logThrowable(th) An exception occurred: [null].
Enable traces for [com.ibm.wps.logging.ExceptionLogger=all] to see the exception stack trace.

Если я включу предложенную трассировку, и пользователь попытается снова, файл trace.log сервера будет содержать трассировку стека, подобную следующей (хотя я удалил много строк, чтобы сделать ее короче):

com.ibm.wps.logging.ExceptionLogger logThrowable(th) Exception
                                 com.ibm.wps.resolver.servlet.exceptions.ModelIOException
    at com.ibm.wps.resolver.webdav.tree.WebdavTreeModelUpdateDataSink.read(WebdavTreeModelUpdateDataSink.java:182)
    at com.ibm.wps.resolver.servlet.ContentHandlerUpload.handleDownloadAndDispose(ContentHandlerUpload.java:817)
    at com.ibm.wps.resolver.servlet.ContentHandlerUpload.handleUpload(ContentHandlerUpload.java:1020)
    at com.ibm.wps.resolver.servlet.ContentHandlerUpload.doFilter(ContentHandlerUpload.java:378)
    ...
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1700)
Caused by: com.ibm.wps.resolver.webdav.admin.exception.WebdavCannotCommitException
    at com.ibm.wps.filestore.JCRWebdavTreeModelController.commit(JCRWebdavTreeModelController.java:354)
    at com.ibm.wps.resolver.webdav.tree.AbstractWebdavTreeModelCreateUpdateDataSink.updateItem(AbstractWebdavTreeModelCreateUpdateDataSink.java:1028)
    at com.ibm.wps.resolver.webdav.tree.AbstractWebdavTreeModelCreateUpdateDataSink.updateItem(AbstractWebdavTreeModelCreateUpdateDataSink.java:955)
    at com.ibm.wps.resolver.webdav.tree.WebdavTreeModelUpdateDataSink.read(WebdavTreeModelUpdateDataSink.java:157)
    ... 80 more
Caused by: javax.jcr.access.AccessDeniedException: ACC3501E: The requested operation violates one or more access constraints on path:
/filestore/fs-type1/themes/ISWPortal8.0/ISWExt/css/isw-style-ie6.css/jcr:content/icm:lastModified or descendant.
    at com.ibm.icm.jcr.PropertyImpl.checkSetValueAllowed(PropertyImpl.java:444)
    at com.ibm.icm.jcr.PropertyImpl.setValue(PropertyImpl.java:310)
    at com.ibm.icm.jcr.NodeImpl.setProperty(NodeImpl.java:3990)
    at com.ibm.icm.jcr.NodeImpl.updateSaveProperties(NodeImpl.java:3176)
    at com.ibm.icm.jcr.NodeImpl.save(NodeImpl.java:2825)
    ...
    at com.ibm.icm.jcr.WorkspaceImpl.save(WorkspaceImpl.java:2776)
    at com.ibm.icm.jcr.WorkspaceImpl.save(WorkspaceImpl.java:2765)
    at com.ibm.wps.filestore.JCRWebdavTreeModelController.commit(JCRWebdavTreeModelController.java:348)
    ... 83 more

Как разрешить пользователям без прав администратора изменять эти файлы?

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

В целом доступ ограничен группами администраторов, что описано здесь на Портал IC. Можно открыть определенные области для конкретного использования конечным пользователем, но я думаю, это не то, что вы ищете.

На основе трассировки вы хотите, чтобы пользователь мог изменять WebDav для тем. Этим по-другому управляет Виртуальный ресурс WebSphere Portal. Вам необходимо предоставить доступ к виртуальному ресурсу Наценки для группы пользователей, которым вы хотите разрешить запись в папку тем