当前位置: 首页 > 知识库问答 >
问题:

无法创建视图,尽管添加了权限,但没有权限

颜英博
2023-03-14

我在插入模板时遇到问题。当我运行tde时。templateInsert作为响应返回无效的权限,但我在数据库设置中启用了三重索引,并为用户添加了权限(添加了tde admin和tde view)。

我将逐步遵循本教程:https://developer.marklogic.com/learn/template-driven-extraction/

这是整个错误消息:

[javascript]SEC-INVALIDPERM:xdmp:document insert(“/test/myFirstTDE.json”,文档{object node{“template”:对象节点{“context”:文本{“/公司”},…}}}},(json:object(

堆栈跟踪在xdmp第8行未定义中:文档插入(“/test/myFirstTDE. json”,文档{对象节点{“模板”:对象节点{“上下文”:文本{“/公司”},...}}},(json:对象(

In/MarkLogic/tde。xqy在模板插入#4(“/test/myFirstTDE.json”,文档({“template”:{“context”:“/公司”,“集合”:[“source1”],“rows”:[…]}}),[{capability:“read”,roleId:“167427631101021671912”},{capability:“update”,roleId:“36802939116258654”},{capability:“read”,roleId:“36802939116258654”},“,”TDE“)

共有1个答案

宋飞舟
2023-03-14

我能够复制。xdmp的方式似乎存在问题。正在处理defaultPermissions()。我已经提交了一个bug,其中包含了关于如何复制这种行为的信息。

同时,您可以通过依赖$权限参数的一些默认行为来解决这个问题:

$权限在模板文档上设置的任何权限。当提供null作为权限参数时,插入的模板将具有默认的权限集。并使用null代替xdmp.defaultPermissions()

tde.templateInsert(
  "/test/myFirstTDE.json" ,
  myFirstTDE,
  null,
  ["TDE"]
)

或者显式创建要应用的权限:

var permissions = [
  xdmp.permission("admin", "read"),
  xdmp.permission("admin", "insert"),
  xdmp.permission("admin", "update")
];
tde.templateInsert(
  "/test/myFirstTDE.json" ,
  myFirstTDE,
  permissions,
  ["TDE"]
)

 类似资料:
  • 在这一点上我得到了警告: 如何让它保存文件?当我在Eclipse上创建它时,这是可行的,但是现在我更新并移到了Android Studio中,它似乎坏了一些东西。

  • 我在学校使用SQL*Plus,我使用用户名斯科特。我不能创建视图,因为它说: 我找了又找,但似乎没有什么是对的。有什么帮助吗?

  • 创建目录权限 如果你想创建一个目录并授予777权限,你需要怎么做?查看Go的API文档我们可以这样写。 源文件为mkdir.go。 package main import ( "fmt" "os" ) func main() { err := os.MkdirAll("/tmp/gotest/", 0777) if err != nil { panic(er

  • 我可以使用对实体具有权限的Spring SecurityACL,但我想知道如何测试用户是否具有对类的“创建”(第2位)权限。 比如: 有人能帮我吗? 提前谢谢

  • 我在编写部署在Tomcat上的Grails应用程序时遇到了一些奇怪的问题。 在创建简单的测试控制器之后,我想在包com中编写测试内容 我有个例外: 类java.io.FileNotFoundException消息/home/user/domains/domain.com/public_html/the-file-name.txt(Brak dost rpu) 我已经将chmod设置为777到。而是

  • 我在Windows7上安装了WAMP2.1。然而,当我打开phpMyAdmin时,我得到一个错误,Mysql'No provideges'。我卸载了wamp并重新安装了几次,但都没有用。有人知道如何解决这个问题吗? 此外,当我试图从mysql控制台创建一个数据库,我得到以下错误:错误1044