作为 WebSphere Portal 8.0 的管理员,我可以使用连接到的 WebDAV 客户端访问和修改主题相关的文件http://servername:10040/wps/mycontenthandler/dav/fs-type1
。
我现在想授予另一个用户对相同文件的写权限,但该用户不应是 Portal 管理员。IBM
文档指出(在名为使用 WebDAV 文件存储):
“要授予用户对这些文件夹中所含资源的写访问权限,请在门户访问控制中为用户分配虚拟资源 THEME MANAGEMENT 上的 MANAGER 角色。管理员可以创建、修改或删除此类资源。”
我以前在 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
我如何允许非管理员用户修改这些文件?
答案1
根据您的使用情况,有两项需要查看。
一般情况下,访问权限仅限于管理员组,详情请见此处门户 IC。可以开放某些区域供最终用户特定使用,但我猜这不是您想要的。
根据跟踪,您希望用户能够修改主题的 WebDav。这由 WebSphere Portal 的虚拟资源以不同的方式控制。您需要授予对虚拟资源的访问权限标价对于您想要启用对主题文件夹的写访问权限的用户组