我确实阅读了http://guide.couchdb.org/draft/security.html和
和以前的问题 基于每个数据库的CouchDB授权 和 http://wiki.apache.org/couchdb/Security_Features_Overview
我目前正在使用Apache CouchDB 1.2.0并通过futon添加管理结果,例如在_users中添加用户
_id
org.couchdb.user:stackoverflow
_rev
1-b9f223532b662d4ac52d14082d81e6a5
name
stackoverflow
password
null
roles
[ ]
type
user
Run Code Online (Sandbox Code Playgroud)
所以第一个问题是为什么管理员被添加为类型用户而不是管理员令人费解.这个用户是管理员,因为他们可以在任何数据库中执行任何操作,并且角色为空但我确实保护了_users文档
["admin"]
Run Code Online (Sandbox Code Playgroud)
角色作为唯一成员,只有管理员可以访问它(即使他们在_users文档中的角色为空).
此保护不允许创建新的"普通"用户,因此蒲团"signup"命令将返回注册错误:您无权访问此数据库.
我认为这种设置是唯一合乎逻辑的设置.为什么你希望任何人都能在你的数据库上创建用户?
即使您在数据库中指定读访问权限仅适用于一个管理员,每个管理员都可以访问它
(
" admins" : {
"names" : ["guru"],
"roles" : ["boss"]
},
"readers" : {
"names" : ["guru"],
"roles" : ["boss"]
}
}
Run Code Online (Sandbox Code Playgroud)
上面的例子对新创建的stackoverflow管理员没有影响,如上例所示.
所以我的假设是,通过蒲团创建的管理员可以做任何事情,无论如何.唯一令人困惑的逻辑部分是_users文档,它们没有特殊类型(它们是用户),也没有特殊角色.
回到具体问题: - 通过futon添加管理员时为什么在_users文档中没有标记为admin,该文档中的CouchDB如何确定它是一个广泛的系统管理员? - 如果您想创建一个普通用户而不允许他们注册(通过蒲团或直接HTTP请求),您必须保护_users文档.然而,您将如何创建自己的用户来读取/写入自己的数据库? - 由于用户(根据CouchDB Docs)将拥有数据库的读/写权限但不能创建设计文档的可能性如何才能真正有效地使用它,因为任何使用数据库开发的人都需要视图?
应该可以有一个正常的,简单的多主机,而不会危及安全性,因为http://www.iriscouch.com/上有一个共享的CouchDB产品,所以我只是不明白你在逻辑上如何构建一个简单的服务用户拥有自己的数据库,只能在这个数据库上做任何事情.因为管理员角色无论如何"用户"如何将它们与_users表中的非管理员区分开来?
我用 sveltekit:svelte: (@sveltejs/kit": "1.0.0-next.95) 开发了一个网站。这些文章是 Markdown 编写的,所以我使用 mdsvex 作为内容。
我在 cloudflare 页面中使用适配器 vercel 和静态适配器部署了该站点。
两个脚本都运行良好,我只是想了解使用带有 vercel 适配器的无服务器功能与使用适配器 static 将站点作为静态导出运行的好处,该静态导出可以在任何地方工作(包括 vercel,即使没有具有无服务器功能的适配器) 。
我创建了一个简单的视图来返回博客标题和时间
function(doc) {
if ( doc.TITLE) emit(doc.TIME, doc.TITLE);
Run Code Online (Sandbox Code Playgroud)
}
什么是首先显示最新博客文章的简单方法(默认情况下是另一种方式)?
对于 Django 来说真的很陌生,所以请耐心等待:) 我遇到了在 Django 管理中显示帖子标题的问题。
我在 Python 3 中都尝试过
class Post(models.Model):
title = models.TextField(max_length=100)
text = models.TextField(max_length=10000)
tags = models.TextField(max_length=300)
comments = models.TextField(max_length=400)
def __str__(self):
return self.title
Run Code Online (Sandbox Code Playgroud)
和Python 2
class Post(models.Model):
title = models.TextField(max_length=100)
text = models.TextField(max_length=10000)
tags = models.TextField(max_length=300)
comments = models.TextField(max_length=400)
def __unicode__(self):
return self.title
Run Code Online (Sandbox Code Playgroud)
但不幸的是,在 Django 管理中,我在帖子列表中看到“Post object”
在此先感谢您的帮助。