我的网站上有一个简单的联系人表单,它成功地发布了一个 HTTP PUT 我的存在数据库。
HTTP PUT
各 PUT 创建唯一的XML文档,如下所示: http://medieval-inquisition.huma-num.fr/exist/rest/db/apps/deheresi/comm/some_unique_name.xml
PUT
http://medieval-inquisition.huma-num.fr/exist/rest/db/apps/deheresi/comm/some_unique_name.xml
当它这样做时,服务器需要密码。
配置的最佳实践是什么 HTTP放置 用于公共写入,但不用于读取/编辑?
HTTP放置
这仅仅是为这个只允许对这个集合进行写访问的REST活动创建一个唯一的用户/密码的问题吗?
还有其他考虑吗?
有没有一个具体的,推荐的现有数据库方法?
事先谢谢。
所以你有几个选择:
使用收集权限,例如owner/group/mode/acl,并使用一个用户或组,该用户或组在http put中经过身份验证,以控制谁可以写入收集。
模式 rwx 对于集合:
rwx
r
w
x
R
W
但是,由于集合是通过HTTP REST API公开的,除非禁用REST API,否则您可能不想给公共用户 W 访问您的收藏。因为他们可以只通过HTTP删除集合中的文档。
相反,你可能想要一个公共用户 s (set uid+execute)对通过RESTAPI或RESTXQ端点公开的XQuery主模块的访问。当通过HTTP PUT访问此主模块时,它将假定一个有效的用户ID,并写入集合。HTTP的高级标记放在XQuery主模块而不是集合中:
s
在XQuery主模块中,您还可能希望对正在创建的文档设置特定的权限。