`
poller
  • 浏览: 19841 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

如何对couchdb进行权限控制

阅读更多

 

         couchdb默认是把权限关闭的,打开方法为进入Futon->Configuration->couch_httpd_auth->require_valid_user改为true.

或者直接修改其local.ini文件,路径如:

 

/opt/couchdb-1.0.1/etc/couchdb/local.ini
 

 

 

一、couchdb中的授权用户分为三种

1、database readers:针对每个数据库,此类用户可以修改普通文檔,不能修改_design文档。

2、database admins:针对每个数据库,可以修改些数据库的admins和readers,可以修改普通文檔和_design文档.设置数据库的游览限制,执行临时view.但不能创建删除数据库。

3、server admins:针对每个couchdb服务,拥有所有权限。

二、授权用户的创建

对于server admins,可以直接点Futon右下角的Setup more admins创建用户,也可修改local.ini。

database readers和database admins的用户就需要在_users里插入文档实现,格式如下:

 

{
  "_id"          : "org.couchdb.user:joe",
  "type"         : "user",
  "name"         : "joe",
  "roles"        : ["erlanger"],
  "password_sha" : "fe95df1ca59a9b567bdca5cbaf8412abd6e06121",
  "salt"         : "4e170ffeb6f34daecfd814dfb4001a73"
}
 

对于_id,必须以org.couchdb.user:为前綴,然后加上name的值,type也只能为user,roles为一字符串数组.password_sha是密碼加上salt的SHA-1 hash值.

三、权限应用于数据库

随便进入一个数据库,在上方点Security,設定格式如:

 

{
  "admins" : {
     "names" : ["joe", "phil"],
     "roles" : ["boss"]
   },
   "readers" : {
     "names" : ["dave"],
     "roles" : ["producer", "consumer"]
   }
}
 

此文件位于/db_name/security,如若admins和readers都为空,則意味者此数据庫只能由server admins全部控制,任何用户可以修改此数据库的文档(除_design文档).

 

分享到:
评论
1 楼 winney117 2014-03-24  
你好!我按照你的操作改成了true,结果要求我输入localhost:5984的用户名和密码,要怎么解决啊?现在完全进不去了。。。

相关推荐

    CouchDB权威指南(中文 完整版)

    CouchDB是一款面向文档、分布式且具有容错性的NoSQL数据库系统,它使用JSON来存储数据,JavaScript作为查询语言并通过HTTP进行通信。CouchDB的设计目标之一是易于复制和扩展,这意味着可以在多个服务器之间轻松地...

    数据库CouchDB入门到精通.txt打包整理.zip

    视图是CouchDB的一种强大的数据处理工具,通过编写JavaScript Map和Reduce函数,可以对文档进行聚合、过滤和排序。Map函数遍历所有文档,将结果发送到Reduce函数进行进一步处理。视图可以动态生成,无需预先构建索引...

    jcouchdb jar 1.0 couchdb

    6. **安全与认证**:jcouchdb支持CouchDB的用户管理和权限控制,如创建、管理用户和角色,设置数据库访问权限。 【jcouchdb-1.0.1-1.jar】是jcouchdb库的特定版本,其中包含了jcouchdb的所有类和方法,供Java开发者...

    CouchDB权威指南

    - **文档存储**:CouchDB以JSON格式存储数据,每个数据单元称为文档,文档包含一系列键值对,易于理解和操作。 - **RESTful API**:CouchDB使用HTTP协议进行通信,遵循REST原则,使得通过Web服务与数据库交互变得...

    CouchDB,Python

    - **文档(Documents)**:CouchDB中的数据以JSON格式的文档形式存储,每个文档都有一个唯一的_id和_rev(修订版本号),用于版本控制和并发访问。 - **数据库(Databases)**:CouchDB中的数据组织在数据库中,...

    CouchDB The Definitive Guide

    5. **安全性和权限控制**:阐述了如何设置用户认证、权限管理和数据加密等安全措施。 6. **高可用性和扩展性**:讲解了如何通过复制、分区等技术实现CouchDB集群的高可用性和水平扩展。 7. **案例分析**:通过具体的...

    Go-go-couchdb-另一个CouchDBHTTPAPI的Go封装

    4. 操作文档:对数据库中的文档进行增删改查操作。 5. 定义和使用视图:如果需要索引和查询数据,可以创建视图。 6. 处理错误和异常:在操作过程中,应适当地处理可能出现的错误和异常。 7. 关闭连接:在完成所有...

    apache-couchdb-3.1.1.zip

    8. **安全与权限**:支持角色和权限控制,可以为不同的用户或角色设置读写权限,确保数据安全性。 **CouchDB在Windows上的安装**: - 解压缩“apache-couchdb-3.1.1.zip”,得到“apache-couchdb-3.1.1.msi”安装...

    数据库CouchDB入门到精通视频课程下载整理.zip

    1. 视频课程:提供的视频课程涵盖了CouchDB的基本概念、安装配置、数据操作、复制与同步、安全与权限管理等多个方面,是快速掌握CouchDB的好帮手。 2. 心梓知识:心梓知识可能包含了关于CouchDB的深入讲解、实践案例...

    CouchDB权威指南].(CouchDB:The.Definitive.Guide)

    - **地理空间索引**:介绍如何使用CouchDB进行地理位置数据的存储和查询。 - **安全性和授权**:讲解如何设置用户权限,确保数据的安全访问。 - **备份与恢复**:提供备份策略和灾难恢复计划的建议。 #### 六、案例...

    apache-couchdb-2.3.1.zip

    3. 身份验证和权限:CouchDB提供了基于角色的访问控制(RBAC),确保数据安全。 4. MapReduce:学习如何编写Map和Reduce函数,进行复杂的数据聚合和检索。 5. 复制和同步:CouchDB的实时复制功能使得多数据中心或...

    位子:CouchDB包装器

    【位子:CouchDB包装器】是一个专为CouchDB设计的TypeScript库,它提供了方便、高效的接口,使得开发者能够更轻松地在TypeScript环境中与CouchDB数据库进行交互。CouchDB是一款开源的非关系型(NoSQL)文档型数据库...

    pouchdb-access:一个PouchDB插件,可为CouchDB数据库提供简单的访问控制

    Pouchdb-access插件模仿了这一机制,使得在本地PouchDB数据库中也可以实现类似的权限控制,这对于需要在客户端进行数据存储和管理的应用尤其重要。 **插件使用** 使用Pouchdb-access,开发者首先需要安装插件,这...

    沙发:沙发-Rust的CouchDB

    2. **数据库操作**:用户可以创建、删除和列举CouchDB中的数据库,并对数据库进行读写操作,例如保存、更新和删除文档。 3. **文档处理**:Sofa提供了丰富的API来处理CouchDB中的JSON文档,包括创建、获取、更新和...

    coushdb资料

    10. **安全与认证**:CouchDB支持基本的HTTP认证和OAuth,可以设置用户权限,限制对数据库和文档的访问。 11. **RESTful API**:CouchDB使用HTTP协议提供了一套完整的RESTful API,允许通过简单的HTTP方法(GET、...

    Couch结构化的的转换代码

    6. **错误处理**:封装还包括对可能出现的错误进行捕获和处理,例如网络问题、数据库不存在、权限错误等,以提供健壮的API。 7. **性能优化**:考虑到效率,可能还需要实现批量操作,比如批量插入文档,以及使用...

    pouch-auth:PouchDB 和 CouchDB 的用户认证插件

    CouchDB 则是一个开源的文档数据库系统,它支持JSON文档、版本控制和通过HTTP进行的数据同步。在开发Web应用时,PouchDB 允许开发者在客户端存储和操作数据,同时与服务器上的CouchDB保持数据的一致性。 "pouch-...

    replictest:用于测试 CouchDB 复制的 IonicCordova 应用程序

    CouchDB 是一个开源的、基于文档的 NoSQL 数据库,它支持多版本并发控制和自动冲突解决。其最大的特点之一是“面向文档”的存储方式,以及内置的复制功能,这使得数据可以在多个服务器、设备之间轻松地进行同步。 ...

Global site tag (gtag.js) - Google Analytics