gpt4 book ai didi

security - Virtuoso HTTP POST/PUT 身份验证

转载 作者:行者123 更新时间:2023-12-02 00:49:41 25 4
gpt4 key购买 nike

我尝试使用其基于 Web 的 SPARQL 端点 (http://localhost:8890/sparql/) 在 Virtuoso 中为 RDF 三元组执行 INSERT 语句:

INSERT DATA
{
GRAPH <http://my.graph>
{
<http://test.com/someid> <http://namespace.ref#someVar> 123
}
}

但是我得到了

Virtuoso 42000 Error SR186:SECURITY: No permission to execute procedure DB.DBA.SPARQL_INSERT_DICT_CONTENT with user ID 107, group ID 107

我能够通过我的数据库编辑器运行相同的语句,该编辑器使用端口 1111 上的 JDBC 驱动程序,使用 DBA 登录。

在我作为 DBA 通过端口 1111 运行以下命令后,Web 界面/服务插入成功:

grant execute on DB.DBA.SPARQL_INSERT_DICT_CONTENT to "SPARQL";
grant execute on DB.DBA.SPARQL_INSERT_DICT_CONTENT to SPARQL_UPDATE;

但是,我想撤销用户 SPARQL 的那些权限,据我所知,它与 Web 界面相关联,并发送 HTTP POST/PUT/DELETE 请求使用摘要身份验证提供的用户凭据。这可能吗?如何实现?我去了this page of the manual但它是空的。

最佳答案

OP 的目标在 the new location of the manual page 中讨论。他们最初试图访问。 (更多详细信息在产品网站上,而不是下面转载的。)

Virtuoso reserves the path /sparql-auth/ for a SPARQL service supporting authenticated SPARUL (a/k/a SPARQL-Update). This endpoint allows specific SQL accounts to perform SPARUL over the SPARQL protocol. To be allowed to log in via SQL or ODBC and update physical triples, a user must be granted SPARQL_UPDATE privileges. To grant this role:

  1. Go to the Virtuoso administration UI, i.e., http://host:port/conductor

  2. Log in as user dba

  3. Go to System AdminUser AccountsUsers

  4. Click the Edit link

  5. Set User type to SQL/ODBC Logins and WebDAV.

  6. From the list of available Account Roles, select SPARQL_UPDATE and click the >> button to add it to the right-hand list.

  7. Click the Save button.

关于security - Virtuoso HTTP POST/PUT 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40897307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com