迁移Simple-TODO Nodejs实现版至CouchDB数据库 --- 用户认证
2012-07-16 16:00
531 查看
接上例:/article/8220072.html
如果CouchDB服务器设置了用户名密码,需要适当修改一下登录代码。
config.js 中追加如下用户登录设置
db.js
todo.js 里的index方法也需要稍作修改。
如果CouchDB服务器设置了用户名密码,需要适当修改一下登录代码。
config.js 中追加如下用户登录设置
exports.username = 'username'; exports.password = 'password';
db.js
"use strict"; /** * Module dependencies. */ var cradle = require('cradle'); var config = require('../config'); var connection = new(cradle.Connection)(config.db_port, config.db_port, { cache: true, raw: false, auth:{username: config.username, password: config.password} }); var db = connection.database(config.db_name); db.exists(function (err, exists) { if (err) { console.log('error', err); } else if (exists) { console.log('database exists, please enjoy.'); } else { console.log('database does not exist, create a new one.'); db.create(function() { db.save('_design/todo', { views: { all: { map: 'function (doc) { emit(doc._id, doc) }' } } }); db.exists(function(errr, existss) { if(!existss) { console.log("数据库创建失败,请检查是否使用有效的认证账号"); return ("数据库创建失败,请检查是否使用有效的认证账号"); } else { console.log("created."); } }); }); } }); module.exports = db;
todo.js 里的index方法也需要稍作修改。
"use strict"; /** * Module dependencies. */ var config = require('../config'); var db = require('../common/db'); exports.index = function (req, res, next) { db.view('todo/all', function (err, result) { if (err) { if(err.reason == "no_db_file") { return next("No database exists on your server."); } return next(err.reason); } var data = new Array(); result.forEach(function (row) { data.push(row); }); res.render('index.html', {todos: data}); }); }; exports.new = function (req, res, next) { var title = req.body.title || ''; title = title.trim(); if (!title) { return res.render('error.html', {message: '标题是必须的'}); } db.save({title: title, post_date: new Date()}, function (err, result) { if (err) { return next(err); } res.redirect('/'); }); }; exports.view = function (req, res, next) { res.redirect('/'); }; exports.edit = function (req, res, next) { var id = req.params.id; db.get(id, function (err, doc) { if (err) { return next(err); } if (!doc) { return next(); } res.render('todo/edit.html', {todo: doc}); }); }; exports.save = function (req, res, next) { var id = req.params.id; var title = req.body.title || ''; title = title.trim(); if (!title) { return res.render('error.html', {message: '标题是必须的'}); } db.merge(id, {title: title}, function (err, result) { if (err) { return next(err); } res.redirect('/'); }); }; exports.delete = function (req, res, next) { var id = req.params.id; db.get(id, function (err, doc) { var rev = doc._rev; db.remove(id, rev, function (err, result) { if (err) { return next(err); } res.redirect('/'); }); }); }; exports.finish = function (req, res, next) { var finished = req.query.status === 'yes' ? 1 : 0; var id = req.params.id; db.merge(id, {finished: finished}, function (err, result) { if (err) { return next(err); } res.redirect('/'); }); };
相关文章推荐
- 迁移Simple-TODO Nodejs实现版至CouchDB数据库
- MOSS:实现Form认证(1)——生成用户数据库
- ftp奥妙之怎么实现基于mysql的数据库和对应的表中的字段来完成对用户认证的? 推荐
- 一步一步SharePoint 2007之十一:实现Form认证(1)——生成用户数据库
- 一步一步SharePoint 2007之十一:实现Form认证(1)——生成用户数据库
- Nodejs脚本实现从mongo数据库迁移数据至mysql数据库
- 一步一步SharePoint 2007之十一:实现Form认证(1)——生成用户数据库
- nodejs web开发入门: Simple-TODO Nodejs 实现版
- 一步一步SharePoint 2007之十一:实现Form认证(1)——生成用户数据库
- ftp实现通过数据库的虚拟用户认证
- Linux FTP服务器的搭建与配置+基于关系型数据库实现用户认证
- 部署最新的Simple-TODO Nodejs 实现版
- nodejs web开发入门: Simple-TODO Nodejs 实现版
- 利用ACS服务器实现用户的认证、授权和审计
- nodejs使用express,crypto配合validator实现用户登录逻辑
- 在 Sendmail 中实现用户认证
- 百度编辑器使用 嵌入ci (可灵活运用,建立数据库,写入并读出,实现用户自定义网页页面内容)
- myeclipse 实现框架 spring+springmvc+springsecurity+myibatis+mysql用户认证和人员增删改查
- 用kettle实现数据库迁移之oracle到mysql