用户通过jquery.couch.js或其他方式注册Couchapp / CouchDB

前端之家收集整理的这篇文章主要介绍了用户通过jquery.couch.js或其他方式注册Couchapp / CouchDB前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
背景

现在,我正在尝试使用couchDB / couchapp构建一个应用程序,该应用程序将存储来自用户的持久且关键的信息,并且我坚持使用couchapp进行用户注册所需的步骤.

基本上,我想要做的是有一个简单的注册表单,用户可以使用它来注册帐户以使用我的应用程序.这将需要在couchdb _users数据库中创建新用户,并创建新数据库,并为新用户分配数据库管理员角色.

这一切都需要服务器管理员凭据

理想情况下,我希望能够使用其中一个jquery.couch.js函数进行调用,但似乎没有一种安全的方法可以做到这一点. (还是那里?)

将此任务卸载到中间层软件或其他方面的最有效但最安全的方法是什么?

通过有效,我的意思是需要为用户提供最少量的步骤,对我来说不一定是最少的麻烦.

截至目前,我已经设置了一个单独的node.js服务器来接收注册请求.我的couchDB服务器管理员凭据作为假定的私有变量存储在节点server.js文件中.然后我使用couch-client将任何数据库创建请求POST回到couchDB.

我在这里跳过太多(潜在的不安全)箍吗?有没有更好的方法来确保安全的注册过程?

谢谢.

解决方法

管理员用户需要创建数据库并分配数据库管理员.

多米尼克的答案很棒.然而,另一种方法是保持直接couchapp架构并在用户沙发链外部运行您的管理代码.

例如,在NodeJS中,以管理员身份连接到CouchDB. Query / _users / _changes?Feed = continuous& include_docs = true.创建用户时,您将实时收到数据事件.当您看到新用户时,请创建数据库并将其指定为管理员.

客户端代码可以轮询其新数据库.或者,客户端也可以通过_changes COMET提要查询/ _users.无论哪种方式,一旦浏览器知道该帐户已设置,您就可以在UI中向用户显示该帐户.

代理(3层架构)非常棒.他们无能为力.但是,我经常更喜欢“CouchDB与外部代理”的架构,原因有两个:

>很简单.有一个Web服务器.用户连接到CouchDB.您连接到CouchDB.一切都在数据库中.配置和维护问题较少.>它很灵活.您可以使用任何语言编写外部客户端,从任何服务器运行.您编写了一个大型应用程序来执行所有操作,或者编写许多小型应用程序以专注于每个任务(例如,创建新数据库,通过电子邮件用户发送丢失的密码,通知数据库是否太大等等).

猜你在找的jQuery相关文章