leanback 0.4.2 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +10 -0
  3. data/Gemfile +5 -6
  4. data/Gemfile.lock +65 -14
  5. data/README.md +465 -33
  6. data/Rakefile +8 -17
  7. data/VERSION +1 -1
  8. data/leanback.gemspec +26 -85
  9. data/lib/leanback.rb +129 -587
  10. data/spec/leanback_spec.rb +356 -0
  11. metadata +40 -117
  12. data/Changelog.rdoc +0 -146
  13. data/documentation/static/2011/11/20/i-moved-leanback-documentation/index.html +0 -180
  14. data/documentation/static/2011/11/20/index.html +0 -146
  15. data/documentation/static/2011/11/index.html +0 -146
  16. data/documentation/static/2011/index.html +0 -146
  17. data/documentation/static/2013/06/02/index.html +0 -146
  18. data/documentation/static/2013/06/02/released-leanback-v0-3-4/index.html +0 -180
  19. data/documentation/static/2013/06/09/index.html +0 -146
  20. data/documentation/static/2013/06/09/released-leanback-v0-4-0/index.html +0 -179
  21. data/documentation/static/2013/06/index.html +0 -158
  22. data/documentation/static/2013/index.html +0 -158
  23. data/documentation/static/author/admin/index.html +0 -175
  24. data/documentation/static/basic-couchdb-operations/index.html +0 -259
  25. data/documentation/static/category/uncategorized/index.html +0 -170
  26. data/documentation/static/couchdb-configuration/index.html +0 -189
  27. data/documentation/static/couchdb-security/index.html +0 -218
  28. data/documentation/static/count-by-multiple-documents/index.html +0 -221
  29. data/documentation/static/count-documents-by-key/index.html +0 -177
  30. data/documentation/static/css/2c-l-fixed.css +0 -1
  31. data/documentation/static/css/2c-l-fixed.dev.css +0 -62
  32. data/documentation/static/css/2c-r-fixed.css +0 -1
  33. data/documentation/static/css/2c-r-fixed.dev.css +0 -60
  34. data/documentation/static/css/3c-c-fixed.css +0 -1
  35. data/documentation/static/css/3c-c-fixed.dev.css +0 -84
  36. data/documentation/static/css/3c-l-fixed.css +0 -1
  37. data/documentation/static/css/3c-l-fixed.dev.css +0 -61
  38. data/documentation/static/css/3c-r-fixed.css +0 -1
  39. data/documentation/static/css/3c-r-fixed.dev.css +0 -62
  40. data/documentation/static/css/holy-grail-fluid.css +0 -5
  41. data/documentation/static/css/plugins.css +0 -5
  42. data/documentation/static/css/print.css +0 -5
  43. data/documentation/static/css/screen.css +0 -1
  44. data/documentation/static/design-documents-and-permanent-views/index.html +0 -454
  45. data/documentation/static/error-handling/index.html +0 -157
  46. data/documentation/static/find-document-by-multiple-keys/index.html +0 -269
  47. data/documentation/static/find-documents-by-key/index.html +0 -243
  48. data/documentation/static/index.html +0 -161
  49. data/documentation/static/leanback/index.html +0 -130
  50. data/documentation/static/leanback/installation/index.html +0 -119
  51. data/documentation/static/setting-the-bind_address-port/index.html +0 -151
  52. data/documentation/static/style.css +0 -16
  53. data/spec/admin_party/database_spec.rb +0 -400
  54. data/spec/no_admin_party/cloudant_spec.rb +0 -365
  55. data/spec/no_admin_party/database_spec.rb +0 -491
  56. data/spec/no_admin_party/non_admin_user_spec.rb +0 -67
  57. data/test/helper.rb +0 -18
  58. data/test/main.rb +0 -295
  59. data/test/my_view.json +0 -8
  60. data/test/my_views.json +0 -8
  61. data/test/start.json +0 -8
  62. data/test/test_leanback.rb +0 -319
  63. data/test/view_age.json +0 -8
@@ -1,170 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en-US">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
5
- <title>Uncategorized</title>
6
-
7
- <link rel="stylesheet" href="http://www.whisperservers.com/leanback/wp-content/themes/hybrid/style.css" type="text/css" media="all" />
8
- <link rel="profile" href="http://gmpg.org/xfn/11" />
9
- <link rel="pingback" href="http://www.whisperservers.com/leanback/xmlrpc.php" />
10
-
11
- <meta name="generator" content="WordPress 3.5.1 - really-static 0.5" />
12
- <meta name="template" content="Hybrid 1.0" />
13
- <meta name="robots" content="index,follow" />
14
- <meta name="copyright" content="Copyright (c) 2013" />
15
- <link rel="alternate" type="application/rss+xml" title="Leanback &raquo; Feed" href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/feed/" />
16
-
17
- <link rel="alternate" type="application/rss+xml" title="Leanback &raquo; Uncategorized Category Feed" href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/category/uncategorized/feed/" />
18
- <script type='text/javascript' src='http://www.whisperservers.com/leanback/wp-includes/js/jquery/jquery.js?ver=1.8.3'></script>
19
-
20
- <link rel="stylesheet" href="http://www.whisperservers.com/leanback/wp-content/plugins/wp-syntax/wp-syntax.css" type="text/css" media="screen" />
21
-
22
- </head>
23
-
24
- <body class="wordpress ltr en_US parent-theme y2013 m06 d09 h16 sunday logged-out archive taxonomy taxonomy-category taxonomy-category-uncategorized primary-active secondary-inactive subsidiary-inactive">
25
-
26
-
27
- <div id="body-container">
28
-
29
-
30
- <div id="header-container">
31
-
32
- <div id="header">
33
-
34
- <div id="site-title"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/" title="Leanback" rel="home"><span>Leanback</span></a></div>
35
- <div id="site-description"><span>Simple Ruby interface to CouchDB</span></div>
36
-
37
- </div><!-- #header -->
38
-
39
- </div><!-- #header-container -->
40
-
41
-
42
- <div id="container">
43
-
44
-
45
- <div id="content" class="hfeed content">
46
-
47
- <div class="breadcrumb breadcrumbs"><div class="breadcrumb-trail"><span class="trail-before"><span class="breadcrumb-title">Browse:</span></span> <a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/" title="Leanback" rel="home" class="trail-begin">Home</a> <span class="sep">/</span> <span class="trail-end">Uncategorized</span></div></div>
48
-
49
-
50
- <div class="loop-meta archive-info category-info">
51
-
52
- <h1 class="loop-title archive-title category-title">Uncategorized</h1>
53
-
54
- <div class="loop-description archive-description category-description">
55
- </div><!-- .loop-description -->
56
-
57
- </div><!-- .loop-meta -->
58
-
59
-
60
-
61
- <div id="post-177" class="hentry post publish post-1 odd author-admin category-uncategorized">
62
-
63
-
64
- <h2 class="entry-title"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/2013/06/09/released-leanback-v0-4-0/" title="Released leanback v0.4.0" rel="bookmark">Released leanback v0.4.0</a></h2><p class="byline">By <span class="author vcard"><a class="url fn n" href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/author/admin/" title="admin">admin</a></span> on <abbr class="published" title="Sunday, June 9th, 2013, 3:43 pm">June 9, 2013</abbr> </p>
65
- <div class="entry-summary">
66
- <p>Just released leanback v0.4.0. See the changelog for new changes.</p>
67
- </div><!-- .entry-summary -->
68
-
69
- <p class="entry-meta"><span class="category"><span class="before">Posted in </span><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/category/uncategorized/" rel="tag">Uncategorized</a></span> | <a class="comments-link" href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/2013/06/09/released-leanback-v0-4-0/#respond" title="Comment on Released leanback v0.4.0">Leave a response</a></p>
70
- </div><!-- .hentry -->
71
-
72
-
73
- <div id="post-159" class="hentry post publish post-2 even alt author-admin category-uncategorized">
74
-
75
-
76
- <h2 class="entry-title"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/2013/06/02/released-leanback-v0-3-4/" title="Released leanback v0.3.4" rel="bookmark">Released leanback v0.3.4</a></h2><p class="byline">By <span class="author vcard"><a class="url fn n" href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/author/admin/" title="admin">admin</a></span> on <abbr class="published" title="Sunday, June 2nd, 2013, 6:24 pm">June 2, 2013</abbr> </p>
77
- <div class="entry-summary">
78
- <p>Just released leanback v0.3.4. See the changelog for new changes.</p>
79
- </div><!-- .entry-summary -->
80
-
81
- <p class="entry-meta"><span class="category"><span class="before">Posted in </span><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/category/uncategorized/" rel="tag">Uncategorized</a></span> | <a class="comments-link" href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/2013/06/02/released-leanback-v0-3-4/#respond" title="Comment on Released leanback v0.3.4">Leave a response</a></p>
82
- </div><!-- .hentry -->
83
-
84
-
85
- <div id="post-113" class="hentry post publish post-3 odd author-admin category-uncategorized">
86
-
87
-
88
- <h2 class="entry-title"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/2011/11/20/i-moved-leanback-documentation/" title="Welcome to the new site" rel="bookmark">Welcome to the new site</a></h2><p class="byline">By <span class="author vcard"><a class="url fn n" href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/author/admin/" title="admin">admin</a></span> on <abbr class="published" title="Sunday, November 20th, 2011, 10:48 pm">November 20, 2011</abbr> </p>
89
- <div class="entry-summary">
90
- <p>This is the new location for Leanback RubyGem&#8217;s documentation. I moved it here, to support the release of v0.3.0. A README file format wouldn&#8217;t be sufficient anymore. So I decided to move the documentation over here, to make it more accessible.</p>
91
- </div><!-- .entry-summary -->
92
-
93
- <p class="entry-meta"><span class="category"><span class="before">Posted in </span><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/category/uncategorized/" rel="tag">Uncategorized</a></span> | <a class="comments-link" href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/2011/11/20/i-moved-leanback-documentation/#respond" title="Comment on Welcome to the new site">Leave a response</a></p>
94
- </div><!-- .hentry -->
95
-
96
- <script type="text/javascript">
97
- // <![CDATA[
98
- var disqus_shortname = 'obi-akubue';
99
- var disqus_domain = 'disqus.com';
100
- (function () {
101
- var nodes = document.getElementsByTagName('span');
102
- for (var i = 0, url; i < nodes.length; i++) {
103
- if (nodes[i].className.indexOf('dsq-postid') != -1) {
104
- nodes[i].parentNode.setAttribute('data-disqus-identifier', nodes[i].getAttribute('rel'));
105
- url = nodes[i].parentNode.href.split('#', 1);
106
- if (url.length == 1) { url = url[0]; }
107
- else { url = url[1]; }
108
- nodes[i].parentNode.href = url + '#disqus_thread';
109
- }
110
- }
111
- var s = document.createElement('script'); s.async = true;
112
- s.type = 'text/javascript';
113
- s.src = 'http://' + disqus_domain + '/forums/' + disqus_shortname + '/count.js';
114
- (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
115
- }());
116
- //]]>
117
- </script>
118
-
119
-
120
-
121
-
122
- </div><!-- .content .hfeed -->
123
-
124
-
125
- <div id="primary" class="sidebar aside">
126
-
127
-
128
- <div id="hybrid-nav-menu-3" class="widget nav-menu widget-nav-menu"><div class="widget-wrap widget-inside"><h3 class="widget-title">Leanback</h3><div class="menu-sidebar-container"><ul id="menu-sidebar" class="nav-menu"><li id="menu-item-13" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-13"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/leanback/">Leanback</a><ul class="sub-menu"><li id="menu-item-14" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-14"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/leanback/installation/">Install</a></li><li id="menu-item-15" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-15"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/basic-couchdb-operations/">Basic CouchDB Operations</a></li><li id="menu-item-41" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-41"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/find-documents-by-key/">Find documents by key</a></li><li id="menu-item-167" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-167"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/find-document-by-multiple-keys/">Find document by multiple Keys</a></li><li id="menu-item-140" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-140"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/count-documents-by-key/">Count documents by key</a></li><li id="menu-item-175" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-175"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/count-by-multiple-documents/">Count documents by multiple keys</a></li><li id="menu-item-45" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-45"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/design-documents-and-permanent-views/">Working with CouchDB views</a></li><li id="menu-item-67" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-67"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/error-handling/">Error handling</a></li><li id="menu-item-96" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-96"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/couchdb-configuration/">CouchDB Configuration</a></li><li id="menu-item-102" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-102"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/couchdb-security/">CouchDB Security</a></li><li id="menu-item-105" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-105"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/setting-the-bind_address-port/">CouchDB Bind_Address &#038; Port</a></li></ul></li><li id="menu-item-142" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-142"><a href="https://github.com/obi-a/leanback/blob/master/Changelog.rdoc">Changes</a></li><li id="menu-item-78" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-78"><a href="https://github.com/obi-a/leanback">Source Code</a></li></ul></div></div></div>
129
-
130
- </div><!-- #primary .aside -->
131
-
132
-
133
- </div><!-- #container -->
134
-
135
- <div id="footer-container">
136
-
137
-
138
- <div id="footer">
139
-
140
- <div class="footer-insert"><p class="copyright">Copyright &#169; 2013 <a href="http://obi-akubue.org">obi-akubue.org</a>.</p></div>
141
- </div><!-- #footer -->
142
-
143
-
144
- </div><!-- #footer-container -->
145
-
146
- </div><!-- #body-container -->
147
-
148
-
149
- <script type="text/javascript">
150
-
151
- var _gaq = _gaq || [];
152
- _gaq.push(['_setAccount', 'UA-20190925-6']);
153
- _gaq.push(['_trackPageview']);
154
-
155
- (function() {
156
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
157
- ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
158
- (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
159
- })();
160
- </script>
161
-
162
- <a style='color:transparent;position:absolute;left:-99999px;z-index:-99999' href='http://www.wpdownloadmanager.com/' title='Premium Wordpress Plugin download manager'>Premium Wordpress Plugin</a>
163
- <script type='text/javascript' src='http://www.whisperservers.com/leanback/wp-content/themes/hybrid/library/js/drop-downs.js?ver=20110705'></script>
164
-
165
- </body>
166
- </html>
167
- <!-- Dynamic page generated in 0.372 seconds. -->
168
- <!-- Cached page generated by WP-Super-Cache on 2013-06-09 16:28:04 -->
169
-
170
- <!-- super cache -->
@@ -1,189 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en-US">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
5
- <title>CouchDB Configuration</title>
6
-
7
- <link rel="stylesheet" href="http://www.whisperservers.com/leanback/wp-content/themes/hybrid/style.css" type="text/css" media="all" />
8
- <link rel="profile" href="http://gmpg.org/xfn/11" />
9
- <link rel="pingback" href="http://www.whisperservers.com/leanback/xmlrpc.php" />
10
-
11
- <meta name="generator" content="WordPress 3.5.1 - really-static 0.5" />
12
- <meta name="template" content="Hybrid 1.0" />
13
- <meta name="robots" content="index,follow" />
14
- <meta name="author" content="admin" />
15
- <meta name="copyright" content="Copyright (c) November 2011" />
16
- <meta name="revised" content="Saturday, November 26th, 2011, 11:01 pm" />
17
- <link rel="alternate" type="application/rss+xml" title="Leanback &raquo; Feed" href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/feed/" />
18
-
19
- <script type='text/javascript' src='http://www.whisperservers.com/leanback/wp-includes/js/jquery/jquery.js?ver=1.8.3'></script>
20
- <link rel='prev' title='Error handling' href='http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/error-handling/' />
21
- <link rel='next' title='CouchDB Security' href='http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/couchdb-security/' />
22
- <link rel='canonical' href='http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/couchdb-configuration/' />
23
-
24
- <link rel="stylesheet" href="http://www.whisperservers.com/leanback/wp-content/plugins/wp-syntax/wp-syntax.css" type="text/css" media="screen" />
25
-
26
- </head>
27
-
28
- <body class="wordpress ltr en_US parent-theme y2013 m06 d09 h16 sunday logged-out singular singular-page singular-page-86 page-template-default page-86 primary-active secondary-inactive subsidiary-inactive">
29
-
30
-
31
- <div id="body-container">
32
-
33
-
34
- <div id="header-container">
35
-
36
- <div id="header">
37
-
38
- <div id="site-title"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/" title="Leanback" rel="home"><span>Leanback</span></a></div>
39
- <div id="site-description"><span>Simple Ruby interface to CouchDB</span></div>
40
-
41
- </div><!-- #header -->
42
-
43
- </div><!-- #header-container -->
44
-
45
-
46
- <div id="container">
47
-
48
-
49
- <div id="content" class="hfeed content">
50
-
51
- <div class="breadcrumb breadcrumbs"><div class="breadcrumb-trail"><span class="trail-before"><span class="breadcrumb-title">Browse:</span></span> <a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/" title="Leanback" rel="home" class="trail-begin">Home</a> <span class="sep">/</span> <span class="trail-end">CouchDB Configuration</span></div></div>
52
-
53
- <div id="post-86" class="hentry page publish post-1 odd author-admin">
54
-
55
- <h1 class="page-title entry-title"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/couchdb-configuration/" title="CouchDB Configuration" rel="bookmark">CouchDB Configuration</a></h1>
56
- <div class="entry-content">
57
- <p>Leanback directly supports CouchDB&#8217;s configuration API. </p>
58
- <p>First we login to CouchDB and generate the auth_session token for making requests.</p>
59
-
60
- <div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">hash = Couchdb.<span style="color:#9900CC;">login</span><span style="color:#006600; font-weight:bold;">&#40;</span>username = <span style="color:#996600;">'samson'</span>,password =<span style="color:#996600;">'sam123'</span><span style="color:#006600; font-weight:bold;">&#41;</span>
61
- auth_session = hash<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">&quot;AuthSession&quot;</span><span style="color:#006600; font-weight:bold;">&#93;</span></pre></div></div>
62
-
63
- <p><strong>Set Configuration</strong><br />
64
- To change a CouchDB configuration setting, we use the set_config() method. For example to add an admin user to CouchDB.</p>
65
-
66
- <div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"> data = <span style="color:#006600; font-weight:bold;">&#123;</span>:section <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;admins&quot;</span>,
67
- <span style="color:#ff3333; font-weight:bold;">:key</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;james&quot;</span>,
68
- <span style="color:#ff3333; font-weight:bold;">:value</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;abc123&quot;</span><span style="color:#006600; font-weight:bold;">&#125;</span>
69
- Couchdb.<span style="color:#9900CC;">set_config</span> data,auth_session</pre></div></div>
70
-
71
- <p>This is similar to sending a </p>
72
- <p>PUT http://127.0.0.1:5984/_config/admins/james,&#8217;&#8221;abc123&#8243;&#8216; </p>
73
- <p>If you check Futon&#8217;s Configuration section you would notice a new admin &#8216;james&#8217; have been added to the admins section. The new admin&#8217;s username is &#8216;james&#8217; and password is &#8216;abc123&#8242;. For more details on adding admin and non-admin users, <a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/couchdb-security/">see here</a>.</p>
74
- <p>To change couchDB&#8217;s bind_address</p>
75
-
76
- <div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">data = <span style="color:#006600; font-weight:bold;">&#123;</span>:section <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;httpd&quot;</span>,
77
- <span style="color:#ff3333; font-weight:bold;">:key</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;bind_address&quot;</span>,
78
- <span style="color:#ff3333; font-weight:bold;">:value</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;192.168.1.118&quot;</span><span style="color:#006600; font-weight:bold;">&#125;</span>
79
- &nbsp;
80
- Couchdb.<span style="color:#9900CC;">set_config</span><span style="color:#006600; font-weight:bold;">&#40;</span>data, auth_session<span style="color:#006600; font-weight:bold;">&#41;</span></pre></div></div>
81
-
82
- <p>This only changes CouchDB&#8217;s bind_address, it doesn&#8217;t change the address used by Leanback to make http requests. Leanback uses &#8217;127.0.0.1&#8242; by default, to change leanback&#8217;s default address:</p>
83
-
84
- <div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">Couchdb.<span style="color:#9900CC;">address</span> = <span style="color:#996600;">&quot;192.168.1.118&quot;</span></pre></div></div>
85
-
86
- <p>This is discussed in great detail <a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/setting-the-bind_address-port/">here</a>.</p>
87
- <p>To change the &#8216;couch_httpd_auth&#8217; timeout value:</p>
88
-
89
- <div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">data = <span style="color:#006600; font-weight:bold;">&#123;</span>:section <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;couch_httpd_auth&quot;</span>,
90
- <span style="color:#ff3333; font-weight:bold;">:key</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;timeout&quot;</span>,
91
- <span style="color:#ff3333; font-weight:bold;">:value</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;700&quot;</span><span style="color:#006600; font-weight:bold;">&#125;</span>
92
- &nbsp;
93
- Couchdb.<span style="color:#9900CC;">set_config</span><span style="color:#006600; font-weight:bold;">&#40;</span>data, auth_session<span style="color:#006600; font-weight:bold;">&#41;</span></pre></div></div>
94
-
95
- <p>This changes the time it takes for the generated auth_session token to expire.</p>
96
- <p>To add custom configuration settings:</p>
97
-
98
- <div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">data = <span style="color:#006600; font-weight:bold;">&#123;</span>:section <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;sample_config_section&quot;</span>,
99
- <span style="color:#ff3333; font-weight:bold;">:key</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;sample_key&quot;</span>,
100
- <span style="color:#ff3333; font-weight:bold;">:value</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;sample_value&quot;</span><span style="color:#006600; font-weight:bold;">&#125;</span>
101
- Couchdb.<span style="color:#9900CC;">set_config</span> data,auth_session</pre></div></div>
102
-
103
- <p>If you check Futon&#8217;s configuration page you will notice a new section called &#8216;sample_config_section&#8217; with key &#8216;sample_key&#8217; and value &#8216;sample_value&#8217;.</p>
104
- <p><strong>Get Configuration</strong><br />
105
- To retrieve CouchDB&#8217;s configuration settings we use the get_config() method.<br />
106
- Example to retrieve couchDB&#8217;s port#</p>
107
-
108
- <div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"> data = <span style="color:#006600; font-weight:bold;">&#123;</span>:section <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;httpd&quot;</span>,
109
- <span style="color:#ff3333; font-weight:bold;">:key</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;port&quot;</span><span style="color:#006600; font-weight:bold;">&#125;</span>
110
- &nbsp;
111
- Couchdb.<span style="color:#9900CC;">get_config</span><span style="color:#006600; font-weight:bold;">&#40;</span>data,auth_session<span style="color:#006600; font-weight:bold;">&#41;</span>
112
- <span style="color:#008000; font-style:italic;">#=&gt; &quot;5984&quot;</span></pre></div></div>
113
-
114
- <p>To retrieve CouchDB&#8217;s database dir</p>
115
-
116
- <div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">data = <span style="color:#006600; font-weight:bold;">&#123;</span>:section <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;couchdb&quot;</span>,
117
- <span style="color:#ff3333; font-weight:bold;">:key</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;database_dir&quot;</span><span style="color:#006600; font-weight:bold;">&#125;</span>
118
- &nbsp;
119
- Couchdb.<span style="color:#9900CC;">get_config</span><span style="color:#006600; font-weight:bold;">&#40;</span>data,auth_session<span style="color:#006600; font-weight:bold;">&#41;</span>
120
- <span style="color:#008000; font-style:italic;">#=&gt; &quot;/var/lib/couchdb/1.0.1&quot;</span></pre></div></div>
121
-
122
- <p><strong>Delete Configuration</strong><br />
123
- To delete a configuration setting we the delete_config() method. Example to delete an admin:</p>
124
-
125
- <div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">data = <span style="color:#006600; font-weight:bold;">&#123;</span>:section <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;admins&quot;</span>,
126
- <span style="color:#ff3333; font-weight:bold;">:key</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;james&quot;</span><span style="color:#006600; font-weight:bold;">&#125;</span>
127
- &nbsp;
128
- Couchdb.<span style="color:#9900CC;">delete_config</span><span style="color:#006600; font-weight:bold;">&#40;</span>data,auth_session<span style="color:#006600; font-weight:bold;">&#41;</span></pre></div></div>
129
-
130
- </div><!-- .entry-content -->
131
-
132
-
133
- </div><!-- .hentry -->
134
-
135
-
136
-
137
-
138
-
139
-
140
-
141
- </div><!-- .content .hfeed -->
142
-
143
-
144
- <div id="primary" class="sidebar aside">
145
-
146
-
147
- <div id="hybrid-nav-menu-3" class="widget nav-menu widget-nav-menu"><div class="widget-wrap widget-inside"><h3 class="widget-title">Leanback</h3><div class="menu-sidebar-container"><ul id="menu-sidebar" class="nav-menu"><li id="menu-item-13" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-ancestor current-menu-parent current_page_parent current_page_ancestor menu-item-13"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/leanback/">Leanback</a><ul class="sub-menu"><li id="menu-item-14" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-14"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/leanback/installation/">Install</a></li><li id="menu-item-15" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-15"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/basic-couchdb-operations/">Basic CouchDB Operations</a></li><li id="menu-item-41" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-41"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/find-documents-by-key/">Find documents by key</a></li><li id="menu-item-167" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-167"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/find-document-by-multiple-keys/">Find document by multiple Keys</a></li><li id="menu-item-140" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-140"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/count-documents-by-key/">Count documents by key</a></li><li id="menu-item-175" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-175"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/count-by-multiple-documents/">Count documents by multiple keys</a></li><li id="menu-item-45" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-45"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/design-documents-and-permanent-views/">Working with CouchDB views</a></li><li id="menu-item-67" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-67"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/error-handling/">Error handling</a></li><li id="menu-item-96" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-86 current_page_item menu-item-96"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/couchdb-configuration/">CouchDB Configuration</a></li><li id="menu-item-102" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-102"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/couchdb-security/">CouchDB Security</a></li><li id="menu-item-105" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-105"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/setting-the-bind_address-port/">CouchDB Bind_Address &#038; Port</a></li></ul></li><li id="menu-item-142" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-142"><a href="https://github.com/obi-a/leanback/blob/master/Changelog.rdoc">Changes</a></li><li id="menu-item-78" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-78"><a href="https://github.com/obi-a/leanback">Source Code</a></li></ul></div></div></div>
148
-
149
- </div><!-- #primary .aside -->
150
-
151
-
152
- </div><!-- #container -->
153
-
154
- <div id="footer-container">
155
-
156
-
157
- <div id="footer">
158
-
159
- <div class="footer-insert"><p class="copyright">Copyright &#169; 2013 <a href="http://obi-akubue.org">obi-akubue.org</a>.</p></div>
160
- </div><!-- #footer -->
161
-
162
-
163
- </div><!-- #footer-container -->
164
-
165
- </div><!-- #body-container -->
166
-
167
-
168
- <script type="text/javascript">
169
-
170
- var _gaq = _gaq || [];
171
- _gaq.push(['_setAccount', 'UA-20190925-6']);
172
- _gaq.push(['_trackPageview']);
173
-
174
- (function() {
175
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
176
- ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
177
- (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
178
- })();
179
- </script>
180
-
181
- <a style='color:transparent;position:absolute;left:-99999px;z-index:-99999' href='http://www.wpdownloadmanager.com/' title='Premium Wordpress Plugin download manager'>Premium Wordpress Plugin</a>
182
- <script type='text/javascript' src='http://www.whisperservers.com/leanback/wp-content/themes/hybrid/library/js/drop-downs.js?ver=20110705'></script>
183
-
184
- </body>
185
- </html>
186
- <!-- Dynamic page generated in 0.498 seconds. -->
187
- <!-- Cached page generated by WP-Super-Cache on 2013-06-09 16:29:32 -->
188
-
189
- <!-- super cache -->
@@ -1,218 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en-US">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
5
- <title>CouchDB Security</title>
6
-
7
- <link rel="stylesheet" href="http://www.whisperservers.com/leanback/wp-content/themes/hybrid/style.css" type="text/css" media="all" />
8
- <link rel="profile" href="http://gmpg.org/xfn/11" />
9
- <link rel="pingback" href="http://www.whisperservers.com/leanback/xmlrpc.php" />
10
-
11
- <meta name="generator" content="WordPress 3.5.1 - really-static 0.5" />
12
- <meta name="template" content="Hybrid 1.0" />
13
- <meta name="robots" content="index,follow" />
14
- <meta name="author" content="admin" />
15
- <meta name="copyright" content="Copyright (c) November 2011" />
16
- <meta name="revised" content="Monday, December 3rd, 2012, 1:35 am" />
17
- <link rel="alternate" type="application/rss+xml" title="Leanback &raquo; Feed" href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/feed/" />
18
-
19
- <script type='text/javascript' src='http://www.whisperservers.com/leanback/wp-includes/js/jquery/jquery.js?ver=1.8.3'></script>
20
- <link rel='prev' title='CouchDB Configuration' href='http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/couchdb-configuration/' />
21
- <link rel='next' title='CouchDB Bind_Address &amp; Port' href='http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/setting-the-bind_address-port/' />
22
- <link rel='canonical' href='http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/couchdb-security/' />
23
-
24
- <link rel="stylesheet" href="http://www.whisperservers.com/leanback/wp-content/plugins/wp-syntax/wp-syntax.css" type="text/css" media="screen" />
25
-
26
- </head>
27
-
28
- <body class="wordpress ltr en_US parent-theme y2013 m06 d09 h16 sunday logged-out singular singular-page singular-page-97 page-template-default page-97 primary-active secondary-inactive subsidiary-inactive">
29
-
30
-
31
- <div id="body-container">
32
-
33
-
34
- <div id="header-container">
35
-
36
- <div id="header">
37
-
38
- <div id="site-title"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/" title="Leanback" rel="home"><span>Leanback</span></a></div>
39
- <div id="site-description"><span>Simple Ruby interface to CouchDB</span></div>
40
-
41
- </div><!-- #header -->
42
-
43
- </div><!-- #header-container -->
44
-
45
-
46
- <div id="container">
47
-
48
-
49
- <div id="content" class="hfeed content">
50
-
51
- <div class="breadcrumb breadcrumbs"><div class="breadcrumb-trail"><span class="trail-before"><span class="breadcrumb-title">Browse:</span></span> <a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/" title="Leanback" rel="home" class="trail-begin">Home</a> <span class="sep">/</span> <span class="trail-end">CouchDB Security</span></div></div>
52
-
53
- <div id="post-97" class="hentry page publish post-1 odd author-admin">
54
-
55
- <h1 class="page-title entry-title"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/couchdb-security/" title="CouchDB Security" rel="bookmark">CouchDB Security</a></h1>
56
- <div class="entry-content">
57
- <p><strong>Admin user</strong><br />
58
- To add an admin user to CouchDB, and end the admin party</p>
59
-
60
- <div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"> data = <span style="color:#006600; font-weight:bold;">&#123;</span>:section <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;admins&quot;</span>,
61
- <span style="color:#ff3333; font-weight:bold;">:key</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;james&quot;</span>,
62
- <span style="color:#ff3333; font-weight:bold;">:value</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;abc123&quot;</span><span style="color:#006600; font-weight:bold;">&#125;</span>
63
- Couchdb.<span style="color:#9900CC;">set_config</span> data</pre></div></div>
64
-
65
- <p>This is similar to sending a</p>
66
-
67
- <div class="wp_syntax"><div class="code"><pre class="plain" style="font-family:monospace;">PUT http://127.0.0.1:5984/_config/admins/james,'&quot;abc123&quot;'</pre></div></div>
68
-
69
- <p>If you check Futon&#8217;s Configuration section you would notice an admin &#8216;james&#8217; have been added to the admins section. The admin&#8217;s username is &#8216;james&#8217; and password is &#8216;abc123&#8242;.</p>
70
- <p>To login the admin user,</p>
71
-
72
- <div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">hash = Couchdb.<span style="color:#9900CC;">login</span><span style="color:#006600; font-weight:bold;">&#40;</span>username = <span style="color:#996600;">'james'</span>,password =<span style="color:#996600;">'abc123'</span><span style="color:#006600; font-weight:bold;">&#41;</span>
73
- <span style="color:#008000; font-style:italic;">#=&gt;{&quot;AuthSession&quot;=&gt;&quot;b2JpOjRFQzgyQ0U0OlA54YsdHNo8altYRIkLVVeyvwah&quot;,</span>
74
- <span style="color:#008000; font-style:italic;"># &quot;Version&quot;=&gt;&quot;1&quot;, &quot;Path&quot;=&gt;&quot;%2F&quot;}</span></pre></div></div>
75
-
76
- <p>This is similar to sending a</p>
77
-
78
- <div class="wp_syntax"><div class="code"><pre class="plain" style="font-family:monospace;">POST 'http://127.0.0.1:5984/_session', 'name=james&amp;password=abc123'</pre></div></div>
79
-
80
- <p>Leanback uses CouchDB&#8217;s cookie authentication, see more details about it <a href="http://guide.couchdb.org/draft/security.html">here</a>. We need the AuthSession token for making future requests on behalf of the authenticated user.</p>
81
- <p>We retrieve the AuthSession token by following the login with this</p>
82
-
83
- <div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">auth_session = hash<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">&quot;AuthSession&quot;</span><span style="color:#006600; font-weight:bold;">&#93;</span></pre></div></div>
84
-
85
- <p>The complete login code will be</p>
86
-
87
- <div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">hash = Couchdb.<span style="color:#9900CC;">login</span><span style="color:#006600; font-weight:bold;">&#40;</span>username = <span style="color:#996600;">'james'</span>,password =<span style="color:#996600;">'abc123'</span><span style="color:#006600; font-weight:bold;">&#41;</span>
88
- auth_session = hash<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">&quot;AuthSession&quot;</span><span style="color:#006600; font-weight:bold;">&#93;</span></pre></div></div>
89
-
90
- <p>This authenticated admin user can add new admins to CouchDB</p>
91
-
92
- <div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"> data = <span style="color:#006600; font-weight:bold;">&#123;</span>:section <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;admins&quot;</span>,
93
- <span style="color:#ff3333; font-weight:bold;">:key</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;nancy&quot;</span>,
94
- <span style="color:#ff3333; font-weight:bold;">:value</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;see78no&quot;</span><span style="color:#006600; font-weight:bold;">&#125;</span>
95
- Couchdb.<span style="color:#9900CC;">set_config</span> data,auth_session</pre></div></div>
96
-
97
- <p>To delete the admin user</p>
98
-
99
- <div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">data = <span style="color:#006600; font-weight:bold;">&#123;</span>:section <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;admins&quot;</span>,
100
- <span style="color:#ff3333; font-weight:bold;">:key</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;nancy&quot;</span><span style="color:#006600; font-weight:bold;">&#125;</span>
101
- &nbsp;
102
- Couchdb.<span style="color:#9900CC;">delete_config</span><span style="color:#006600; font-weight:bold;">&#40;</span>data,auth_session<span style="color:#006600; font-weight:bold;">&#41;</span></pre></div></div>
103
-
104
- <p>If you delete all admin users CouchDB will switch to Admin Party.</p>
105
- <p><strong>Non-Admin Users</strong></p>
106
- <p>To add a non-admin user to CouchDB</p>
107
-
108
- <div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">user = <span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#ff3333; font-weight:bold;">:username</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;david&quot;</span>, <span style="color:#ff3333; font-weight:bold;">:password</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;trusted&quot;</span>, <span style="color:#ff3333; font-weight:bold;">:roles</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#125;</span>
109
- Couchdb.<span style="color:#9900CC;">add_user</span><span style="color:#006600; font-weight:bold;">&#40;</span>user, auth_session<span style="color:#006600; font-weight:bold;">&#41;</span></pre></div></div>
110
-
111
- <p>This adds a new user to CouchDB&#8217;s _users database, if you check the _users database, you will see that a new user with id &#8220;org.couchdb.user:david&#8221; has been added to the database.<br />
112
- The roles are left blank, since only admins can add roles. You can only assign roles to a user if you are making the request as an admin.</p>
113
-
114
- <div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">user = <span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#ff3333; font-weight:bold;">:username</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;david&quot;</span>, <span style="color:#ff3333; font-weight:bold;">:password</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;trusted&quot;</span>, <span style="color:#ff3333; font-weight:bold;">:roles</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">&quot;staff&quot;</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#125;</span>
115
- Couchdb.<span style="color:#9900CC;">add_user</span><span style="color:#006600; font-weight:bold;">&#40;</span>user,auth_session<span style="color:#006600; font-weight:bold;">&#41;</span></pre></div></div>
116
-
117
- <p>Leanback generates a random salt string for CouchDB&#8217;s user password encryption. If you want to generate your own salt you can use the create_user() method instead of add_user().</p>
118
-
119
- <div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">user = <span style="color:#006600; font-weight:bold;">&#123;</span>:username <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;david&quot;</span>,
120
- <span style="color:#ff3333; font-weight:bold;">:password</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;trusted&quot;</span>,
121
- <span style="color:#ff3333; font-weight:bold;">:roles</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">&#93;</span>,
122
- <span style="color:#ff3333; font-weight:bold;">:salt</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;random-salt-string&quot;</span><span style="color:#006600; font-weight:bold;">&#125;</span>
123
- &nbsp;
124
- Couchdb.<span style="color:#9900CC;">create_user</span><span style="color:#006600; font-weight:bold;">&#40;</span>user,auth_session<span style="color:#006600; font-weight:bold;">&#41;</span></pre></div></div>
125
-
126
- <p>To start a session for the non-admin user</p>
127
-
128
- <div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">hash = Couchdb.<span style="color:#9900CC;">login</span><span style="color:#006600; font-weight:bold;">&#40;</span>username = <span style="color:#996600;">'david'</span>,password =<span style="color:#996600;">'trusted'</span><span style="color:#006600; font-weight:bold;">&#41;</span>
129
- user_auth_session = hash<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">&quot;AuthSession&quot;</span><span style="color:#006600; font-weight:bold;">&#93;</span></pre></div></div>
130
-
131
- <p>Same method works for authenticating admin &#038; non-admin users. We can make requests on behalf of the user, using the AuthSession token we generated for them, in the login() method.</p>
132
- <p>To change password for the non-admin user</p>
133
-
134
- <div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">Couchdb.<span style="color:#9900CC;">change_password</span><span style="color:#006600; font-weight:bold;">&#40;</span>username = <span style="color:#996600;">'david'</span>, new_password = <span style="color:#996600;">&quot;abc123&quot;</span>,auth_session<span style="color:#006600; font-weight:bold;">&#41;</span></pre></div></div>
135
-
136
- <p>This will change the password of user <em>david</em> to <em>abc123</em>. </p>
137
- <p><strong>Setting the Security Object of a database</strong><br />
138
- To set the Security Object of a database named &#8216;contacts&#8217;</p>
139
-
140
- <div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">data = <span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#ff3333; font-weight:bold;">:admins</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#996600;">&quot;names&quot;</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">&quot;david&quot;</span><span style="color:#006600; font-weight:bold;">&#93;</span>, <span style="color:#996600;">&quot;roles&quot;</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">&quot;admin&quot;</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#125;</span>,
141
- <span style="color:#ff3333; font-weight:bold;">:readers</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#996600;">&quot;names&quot;</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">&quot;david&quot;</span><span style="color:#006600; font-weight:bold;">&#93;</span>,<span style="color:#996600;">&quot;roles&quot;</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">&quot;admin&quot;</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#125;</span>
142
- <span style="color:#006600; font-weight:bold;">&#125;</span>
143
- &nbsp;
144
- Couchdb.<span style="color:#9900CC;">set_security</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;contacts&quot;</span>,data,auth_session<span style="color:#006600; font-weight:bold;">&#41;</span></pre></div></div>
145
-
146
- <p>To retrieve the security object of a database named &#8216;contacts&#8217;</p>
147
-
148
- <div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">Couchdb.<span style="color:#9900CC;">get_security</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;contacts&quot;</span>,auth_session<span style="color:#006600; font-weight:bold;">&#41;</span>
149
- <span style="color:#008000; font-style:italic;">#=&gt;{&quot;admins&quot;=&gt;{&quot;names&quot;=&gt;[&quot;david&quot;], &quot;roles&quot;=&gt;[&quot;admin&quot;]}, </span>
150
- <span style="color:#008000; font-style:italic;"># &quot;readers&quot;=&gt;{&quot;names&quot;=&gt;[&quot;david&quot;], &quot;roles&quot;=&gt;[&quot;admin&quot;]}}</span></pre></div></div>
151
-
152
- <p>To clear the security object</p>
153
-
154
- <div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">data = <span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#ff3333; font-weight:bold;">:admins</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#996600;">&quot;names&quot;</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">&#93;</span>, <span style="color:#996600;">&quot;roles&quot;</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#125;</span>,
155
- <span style="color:#ff3333; font-weight:bold;">:readers</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#996600;">&quot;names&quot;</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">&#93;</span>,<span style="color:#996600;">&quot;roles&quot;</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#125;</span>
156
- <span style="color:#006600; font-weight:bold;">&#125;</span>
157
- Couchdb.<span style="color:#9900CC;">set_security</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;contacts&quot;</span>,data,auth_session<span style="color:#006600; font-weight:bold;">&#41;</span></pre></div></div>
158
-
159
- </div><!-- .entry-content -->
160
-
161
-
162
- </div><!-- .hentry -->
163
-
164
-
165
-
166
-
167
-
168
-
169
-
170
- </div><!-- .content .hfeed -->
171
-
172
-
173
- <div id="primary" class="sidebar aside">
174
-
175
-
176
- <div id="hybrid-nav-menu-3" class="widget nav-menu widget-nav-menu"><div class="widget-wrap widget-inside"><h3 class="widget-title">Leanback</h3><div class="menu-sidebar-container"><ul id="menu-sidebar" class="nav-menu"><li id="menu-item-13" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-ancestor current-menu-parent current_page_parent current_page_ancestor menu-item-13"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/leanback/">Leanback</a><ul class="sub-menu"><li id="menu-item-14" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-14"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/leanback/installation/">Install</a></li><li id="menu-item-15" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-15"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/basic-couchdb-operations/">Basic CouchDB Operations</a></li><li id="menu-item-41" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-41"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/find-documents-by-key/">Find documents by key</a></li><li id="menu-item-167" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-167"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/find-document-by-multiple-keys/">Find document by multiple Keys</a></li><li id="menu-item-140" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-140"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/count-documents-by-key/">Count documents by key</a></li><li id="menu-item-175" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-175"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/count-by-multiple-documents/">Count documents by multiple keys</a></li><li id="menu-item-45" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-45"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/design-documents-and-permanent-views/">Working with CouchDB views</a></li><li id="menu-item-67" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-67"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/error-handling/">Error handling</a></li><li id="menu-item-96" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-96"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/couchdb-configuration/">CouchDB Configuration</a></li><li id="menu-item-102" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-97 current_page_item menu-item-102"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/couchdb-security/">CouchDB Security</a></li><li id="menu-item-105" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-105"><a href="http://www.whisperservers.com/leanback/wp-content/plugins/really-static/static/setting-the-bind_address-port/">CouchDB Bind_Address &#038; Port</a></li></ul></li><li id="menu-item-142" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-142"><a href="https://github.com/obi-a/leanback/blob/master/Changelog.rdoc">Changes</a></li><li id="menu-item-78" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-78"><a href="https://github.com/obi-a/leanback">Source Code</a></li></ul></div></div></div>
177
-
178
- </div><!-- #primary .aside -->
179
-
180
-
181
- </div><!-- #container -->
182
-
183
- <div id="footer-container">
184
-
185
-
186
- <div id="footer">
187
-
188
- <div class="footer-insert"><p class="copyright">Copyright &#169; 2013 <a href="http://obi-akubue.org">obi-akubue.org</a>.</p></div>
189
- </div><!-- #footer -->
190
-
191
-
192
- </div><!-- #footer-container -->
193
-
194
- </div><!-- #body-container -->
195
-
196
-
197
- <script type="text/javascript">
198
-
199
- var _gaq = _gaq || [];
200
- _gaq.push(['_setAccount', 'UA-20190925-6']);
201
- _gaq.push(['_trackPageview']);
202
-
203
- (function() {
204
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
205
- ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
206
- (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
207
- })();
208
- </script>
209
-
210
- <a style='color:transparent;position:absolute;left:-99999px;z-index:-99999' href='http://www.wpdownloadmanager.com/' title='Premium Wordpress Plugin download manager'>Premium Wordpress Plugin</a>
211
- <script type='text/javascript' src='http://www.whisperservers.com/leanback/wp-content/themes/hybrid/library/js/drop-downs.js?ver=20110705'></script>
212
-
213
- </body>
214
- </html>
215
- <!-- Dynamic page generated in 0.481 seconds. -->
216
- <!-- Cached page generated by WP-Super-Cache on 2013-06-09 16:29:36 -->
217
-
218
- <!-- super cache -->