使用CouchDB開發Web應用程序的最佳方法是什麼?前端用戶必須登錄[例如論壇]?爲此,我需要一些驗證機制來檢查用戶名/密碼並將它們存儲在會話/ cookie中。使用CouchDB進行前端登錄
我如何才能意識到在CouchDB中?有沒有辦法直接在沙發上運行服務器端代碼?我是否需要像node.js或php解釋器這樣的其他軟件組件?
非常感謝。
使用CouchDB開發Web應用程序的最佳方法是什麼?前端用戶必須登錄[例如論壇]?爲此,我需要一些驗證機制來檢查用戶名/密碼並將它們存儲在會話/ cookie中。使用CouchDB進行前端登錄
我如何才能意識到在CouchDB中?有沒有辦法直接在沙發上運行服務器端代碼?我是否需要像node.js或php解釋器這樣的其他軟件組件?
非常感謝。
儘管我對couchDB沒有直接的經驗,但據我所知它是一個數據庫,這意味着你肯定會需要一種服務器端語言來與瀏覽器連接。在這種情況下,Node.js和php是可能的選擇(儘管我認爲couchdb對node.js有非常好的支持,儘管我可能弄錯了)。無論哪種方式,這裏有一個可能的設置node.js內:http://artem.posterous.com/nodejs-authentication-with-couchdb-and-expres
Couchdb可以爲您處理。它將進行沙發級別的認證和數據庫級別的認證。 http://wiki.apache.org/couchdb/Security_Features_Overview
基本上有一個_users數據庫擁有所有用戶,您可以在_security文檔中設置用戶以保護數據庫。
對於文檔級別的安全性,您必須扮演您自己的角色。我被告知這不被推薦,並且數據庫每個用戶模型在這裏受到青睞。
您還可以使用BROWSERID(女神) https://github.com/iriscouch/browserid_couchdb
Kan.so擁有從前端創建用戶,如果你正在建設一個couchapp,想一些軟件包管理一些不錯的包。
你現在想看看新的帽衫項目http://Hood.ie。
它包括一個API來管理CouchDB的用戶帳戶,包括:
// sign up
hoodie.account.signUp('[email protected]', 'secret');
// sign in
hoodie.account.signIn('[email protected]', 'secret');
// sign out
hoodie.account.signOut();
// change password
hoodie.account.changePassword('currentpassword', 'newpassword');
// change username
hoodie.account.changeUsername('currentpassword', 'newusername');
// reset password
hoodie.account.resetPassword('[email protected]');
// destroy account and all its data
hoodie.account.destroy();
// find out who the currently logged in user is (returns undefined if none)
hoodie.account.username;
和事件......
// user has signed up (this also triggers the authenticated event, see below)
hoodie.account.on('signup', function (user) {});
// user has signed in (this also triggers the authenticated event, see below)
hoodie.account.on('signin', function (user) {});
// user has signed out
hoodie.account.on('signout', function (user) {});
// user has re-authenticated after their session timed out (this does _not_ trigger the signin event)
hoodie.account.on('authenticated', function (user) {});
// user's session has timed out. This means the user is still signed in locally, but Hoodie cannot sync remotely, so the user must sign in again
hoodie.account.on('unauthenticated', function (user) {});
Superlogin是一個新的登錄的NodeJS框架,支持CouchDB的登錄。
我最近將這個新的身份驗證API集成到了我的一個移動應用程序中,這很容易做到。明確的文檔和演示應用程序代碼是非常出色的啓動器。儘管只有新開源代碼,但代碼成熟度和測試覆蓋率感覺它已被用於生產一段時間。開發人員一直非常樂於助人並且很有幫助
完全開源的,MIT許可證:
感謝您的回覆。 CouchDB可以直接提供HTML並通過其內置顯示和列表功能自行構建完整的應用程序。這個(沙發) http: /document.html?kassenbuch/_design/buchhaltung 當然,您可以輪詢視圖,您已經通過簡單的JavaScript定義了map/reduce-functions。但我找不到任何運行簡單的服務器端代碼。 – 2012-03-13 12:51:07
我的糟糕之處在於,我知道我們研究了couchDB和mongoDB,以便爲我們的客戶提供我們的noSQL解決方案,儘管我只是在選擇完成後探索mongoDB的一部分,所以我認爲couchDB非常類似於建立。在這種情況下,我希望有人能夠給你一個更相關的答案。 – 2012-03-13 12:57:36
不,這不是真的,你可以使用,但鑑於它的性質,你不需要任何服務器端語言來與CouchDB接口。請參閱http://couchdb.apache.org/:'''CouchDB是完全包含網絡的數據庫。用JSON文檔存儲數據。使用您的網絡瀏覽器通過HTTP訪問您的文檔。用JavaScript查詢,合併和轉換您的文檔。''' – rekinyz 2012-07-19 15:30:06