作为WebSphere Portal 8.0中的pipe理员,我可以使用连接到http://servername:10040/wps/mycontenthandler/dav/fs-type1的WebDAV客户端访问和修改与主题相关的文件。
我现在想给另一个用户写入相同的文件,但是这个用户不应该是一个Portalpipe理员。
IBM文档状态(在使用WebDAV文件存储的页面上):
“为了让用户能够对这些文件夹中包含的资源进行写入访问,可以在门户访问控制中的虚拟资源主题pipe理上分配用户MANAGERangular色,pipe理员可以创build,修改或删除这些资源。
在过去,我使用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.
如果启用build议的跟踪,并且用户再次尝试,服务器的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
我如何让非pipe理员用户修改这些文件?
根据您的使用情况,有两个项目可以查看。
一般来说,访问权限仅限于Portal IC所logging的pipe理员组。 有可能打开某些地区的最终用户的具体用法,但我想这不是你在找什么。
基于你想让用户能够修改主题WebDav的跟踪。 这由WebSphere Portal的虚拟资源控制。 您需要为要启用对主题文件夹的写入访问权限的用户组授予访问虚拟资源标记的权限