
上QQ阅读APP看书,第一时间看更新
Time for action — accessing a database with security enabled
Let's quickly try to access a database that has security enabled by passing the username and password with our request.
- Open Terminal.
- View all of the documents saved in the
_users
database by running the following command. Replaceusername
andpassword
with your admin's username and password.curl username:password@localhost:5984/_users/_all_docs
- Terminal will respond with the same data that you saw before you added the authentication.
{ "_id": "org.couchdb.user:your_username", "_rev": "1-b9af54a7cdc392c2c298591f0dcd81f3", "name": "your_username", "password_sha": "3bc7d6d86da6lfed6d4d82e1e4d1c3ca587aecc8", "roles": [], "salt": "9812acc4866acdec35c903f0cc072c1d", "type": "user" }
What just happened?
You just issued a GET
request to the _users
database and used the username and password of the server admin that we created earlier to authenticate us. Once authenticated, we were able to access the data normally. If you want to perform any action on a secure database, you just need to prepend username:password@
before the URL of the resource you would like to work with.
Pop quiz
- What is the first sentence of CouchDB's definition according tohttp://couchdb.apache.org/?
- What are the four verbs used by HTTP, and how does each match up to CRUD?
- What is the URL to access Futon?
- What does the term Admin Party mean to CouchDB, and how do you take CouchDB out of this mode?
- How would you authenticate a user for a secure database through the command line?