我在Marklogic模块数据库中有一个配置文件,执行此操作所需的特权是什么?
xdmp:invoke-function(function(){fn:doc('/config/context.xml')},<options xmlns="xdmp:eval"><database>{xdmp:modules-database()}</database></options>)我正在设置以下特权
我缺少哪些其他特权,好像我以rest-admin或admin的身份登录一样??
发布于 2016-07-01 16:16:38
我使用ml加载所有模块数据库(包括/config/context.xml)。默认情况下,ml将使用rest-admin,read,rest-admin,update,rest-extension-user,execute加载所有模块。
但是事实证明我们可以用( module :使覆盖模块权限变得容易)覆盖它
下面是我在我的gradle.properties文件中所做的
mlModulePermissions=rest-admin,read,rest-admin,update,rest-extension-user,execute,rest-reader发布于 2016-07-01 19:27:25
我想拉维自己找到了缺失的环节,但为了完整起见:
这个特权列表太长了。为了允许非管理用户(有时也被称为xdmp:invoke-function最小隐私用户)运行xdmp:invoke,用户只需要xdmp:invoke特权。要允许使用该函数的<database>选项,您需要额外的xdmp:eval-in特权。所需的特权通常在DMC上有很好的记录。例如,见:http://docs.marklogic.com/xdmp:eval
但是,不管您授予用户什么特权,它仍然需要一个角色,该角色具有read访问它试图读取的文档的权限。否则,它将根本看不到他们。仅仅为了读取配置文件而将rest-admin角色分配给用户可能有点过了。分配rest-reader角色,并添加授予该角色的read访问权限的文档权限更好。最好的方法可能是创建一个特定于应用程序的角色,将其分配给用户,并为该角色添加一个read文档权限。
哈哈!
https://stackoverflow.com/questions/38148122
复制相似问题