我在Windows 10上使用marklogic 9.0-8。在marklogic中,我需要设置webdav,以便操作员可以看到所有文档。但是我只想授予webdav只读权限,这是为了避免发生意外。
步骤1:我创建了一个名为“只读”的角色(而不是隔离专区),并授予该角色以下权限:
a. execute privileges: any-uri, rest-reader, role-exists, role-get-description, role-get-external-names
b. uri-previleges: view-uri
c. role name (capability): readonly (read)
步骤2:然后,我创建了一个名为“ test-user”的用户,为该用户分配了角色“ readonly”
第3步:使用DMSDK异步,我将文件加载到marklogic中,并具有元数据权限:角色“ readonly”。 这里我没有指定加载数据时角色的功能,因此我假设它需要分配给角色“只读”的默认权限
第4步:现在,我设置了名为webdav-appserver的webdav应用服务器。 对于该服务器,默认用户为“ test-user”;根是“ /”。数据库指向我的数据库,端口10001。其他默认端口。
步骤5。现在在Windows上,我使用“ http:localhost:10001”创建webdav来连接数据库。 它将询问用户名和密码。 当我提供用户“ test-user”和密码时,它将抱怨“ Windows无法访问http://localhost:10001/”。 但是如果我使用“管理员”用户进行连接,则可以连接。
问题1: 我希望我可以使用用户“ test-user”将webdav连接到marklogic,并且一旦连接,在Windows上,即使是操作员也可以看到文档,文档是只读的,操作者无法修改或删除。但是问题是我无法使用“测试用户”进行连接。
有关此问题的问题2:如果我使用管理员用户连接了webdav,则webdav可以连接,我可以从Windows系统中查看文档。但是,当我从webdav打开pdf文件时,它将询问我用户名/密码。在提供“测试用户”和密码后,我可以看到pdf文件。每次都会询问用户名和密码。但是对于xml文件,它不会询问用户ID /密码。
我的期望是:一旦我通过“ test-user”使用webdav连接到marklogic,就应该能够看到pdf文件,而不必每次都要求提供用户名/密码。
有人可以帮我吗?
谢谢海伦
答案 0 :(得分:0)
这很可能是Windows资源管理器WebDAV问题,而不是MarkLogic问题。在另一个WebDAV客户端上测试。
在Windows资源管理器中,连接到WebDAV服务器的根目录时,必须用/
替换根目录/DavWWWRoot/
。这可能与您的问题无关,也可能无关。
最后,阅读the documentation on URI privileges。如果您打算创建一个只读用户,则不要给他们任何URI特权,这将允许在该特权指定的URI路径上创建文档。