使用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