如何授予 http://marklogic.com/xdmp/privileges/get-role 权限?
How to grant http://marklogic.com/xdmp/privileges/get-role privilege?
我正在调用 sec:role-exists()。我试图弄清楚需要什么权限才能将此能力授予管理员以外的其他人。我返回的错误意味着我需要 http://marklogic.com/xdmp/privileges/get-role 权限。
SEC-PRIVDNE: xdmp:security-assert("http://marklogic.com/xdmp/privileges/get-role", "execute") -- Privilege does not exist: action(http://marklogic.com/xdmp/privileges/get-role), kind(execute)
但是,当我尝试通过 sec:privilege-add-roles 使用管理员帐户授予此角色时,它告诉我该权限不存在。
[1.0-ml] SEC-PRIVDNE: (err:FOER0000) Privilege does not exist: action(http://marklogic.com/xdmp/privileges/get-role), kind(execute)
有什么想法吗?
这是我用来授权的代码片段,我是 运行 管理员。
(: grant the needed privileges to the role :)
let $grant_privs :=
xdmp:invoke-function(
function() {
let $required_roles := (
"http://marklogic.com/xdmp/privileges/create-role",
"http://marklogic.com/xdmp/privileges/remove-role",
"http://marklogic.com/xdmp/privileges/get-role-ids",
"http://marklogic.com/xdmp/privileges/get-role-names",
"http://marklogic.com/xdmp/privileges/get-role",
"http://marklogic.com/xdmp/privileges/xdmp-invoke-in",
"http://marklogic.com/xdmp/privileges/xdmp-invoke"
)
return
for $r in $required_roles
return
sec:privilege-add-roles(
$r,
"execute",
"auth-lib"
)
},
<options xmlns="xdmp:eval">
<database>{ xdmp:security-database() }</database>
<transaction-mode>update-auto-commit</transaction-mode>
<isolation>different-transaction</isolation>
</options>
)
在安装时没有创建权限实际上是一个错误。这将在下一个版本中修复,但在此期间您可以在安全数据库中手动创建它。
sec:create-privilege(
"role-exists",
"http://marklogic.com/xdmp/privileges/get-role",
"execute",
"security")
我正在调用 sec:role-exists()。我试图弄清楚需要什么权限才能将此能力授予管理员以外的其他人。我返回的错误意味着我需要 http://marklogic.com/xdmp/privileges/get-role 权限。
SEC-PRIVDNE: xdmp:security-assert("http://marklogic.com/xdmp/privileges/get-role", "execute") -- Privilege does not exist: action(http://marklogic.com/xdmp/privileges/get-role), kind(execute)
但是,当我尝试通过 sec:privilege-add-roles 使用管理员帐户授予此角色时,它告诉我该权限不存在。
[1.0-ml] SEC-PRIVDNE: (err:FOER0000) Privilege does not exist: action(http://marklogic.com/xdmp/privileges/get-role), kind(execute)
有什么想法吗?
这是我用来授权的代码片段,我是 运行 管理员。
(: grant the needed privileges to the role :)
let $grant_privs :=
xdmp:invoke-function(
function() {
let $required_roles := (
"http://marklogic.com/xdmp/privileges/create-role",
"http://marklogic.com/xdmp/privileges/remove-role",
"http://marklogic.com/xdmp/privileges/get-role-ids",
"http://marklogic.com/xdmp/privileges/get-role-names",
"http://marklogic.com/xdmp/privileges/get-role",
"http://marklogic.com/xdmp/privileges/xdmp-invoke-in",
"http://marklogic.com/xdmp/privileges/xdmp-invoke"
)
return
for $r in $required_roles
return
sec:privilege-add-roles(
$r,
"execute",
"auth-lib"
)
},
<options xmlns="xdmp:eval">
<database>{ xdmp:security-database() }</database>
<transaction-mode>update-auto-commit</transaction-mode>
<isolation>different-transaction</isolation>
</options>
)
在安装时没有创建权限实际上是一个错误。这将在下一个版本中修复,但在此期间您可以在安全数据库中手动创建它。
sec:create-privilege(
"role-exists",
"http://marklogic.com/xdmp/privileges/get-role",
"execute",
"security")