Tag: 连接

connect.session的秘密和connect.cookieParser的区别?

我想使用连接模块connect.session和connect.cookieParser在我的Express应用程序中使用安全的cookie。 根据文档,都接受一个secret参数。 该密钥用于防止用户篡改cookie。 我应该将相同的密钥设置到两个模块还是两个不同的模块? 或者我应该只通过一个关键到其中之一?

Node / connect问题对象函数createServer没有方法static

我正在尝试使用AngularJS书籍(server.js)中的一个示例来启动我的节点服务器。 var connect = require('connect'); connect.createServer( connect.static("../angularjs") ).listen(5000); 最初我得到“对象没有方法静态”,所以我重新安装了连接包括,现在当我这样做:节点server.js我得到一个闪烁光标CMD(Windows)和“无法GET /”从我的浏览器。 任何想法的人? 谢谢!

如何调用直接连接中间件?

我有一个像这样的快速路线: app.get('/', auth.authOrDie, function(req, res) { res.send(); }); authOrDie函数是这样定义的(在我的auth.js模块中): exports.authOrDie = function(req, res, next) { if (req.isAuthenticated()) { return next(); } else { res.send(403); } }); 现在,当用户没有通过身份validation,我想validationhttp请求是否有一个授权(基本)标题。 要做到这一点,我想使用伟大的连接中间件basicAuth() 。 如您所知,Express是build立在Connect之上的,所以我可以使用express.basicAuth 。 basicAuth通常是这样使用的: app.get('/', express.basicAuth(function(username, password) { // username && password verification… }), function(req, res) { res.send(); }); 但是,我想在我的authOrDie函数中使用它: exports.authOrDie = function(req, res, next) { if […]

快速获取rawBody

您好,我试图从post中检索的东西,并需要来自请求的rawBody属性。 我怎样才能找回? 我尝试使用express.bodyParser()和我的后处理程序,我正在寻找req.rawBody,它是未定义的。 我甚至尝试过connect.bodyParser(),但是我仍然没有运气。 我正在为rawBody定义。 我正在阅读的stackoverflow网站上说,他们已经删除了rawBodyfunction,但提到这是一个快速修复,将其添加到我们自己的中间件文件。 我是一个新手,所以我不知道如何做到这一点。 以下是我的代码片段。 /** * Module dependencies. */ var express = require('express') , connect = require('connect') , routes = require('./routes') , user = require('./routes/user') , http = require('http') , path = require('path'); var app = express(); // all environments app.set('port', process.env.PORT || 3000); app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); […]

如何在中间件中使用这个上下文

我为自己的目的编写了自己的中间件,如下所示: — myMiddleware.js module.exports = { fn1: function (req, res, next) { console.log('fn1'); next(); }, fn2: function (req, res, next) { console.log('fn2'); this.fn1(req, res, function () { next(); }); } }; 在我的sserver.js中,我使用如下的中间件: app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.favicon()); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(express.cookieParser('your secret here')); app.use(require('./myMiddleware').fn2); 不幸的是,这是行不通的,因为这个上下文在fn2中不是myMiddleware.js对象。 如何使用适当的这个?

如何将Redisconfiguration为与KrakenJS的会话存储

使用Express,我可以使用Redis作为会话存储,如下所示: var express = require('express'); var app = express(); var RedisStore = require('connect-redis')(express); app.use(express.cookieParser()); app.use(express.session({ store: new RedisStore({ host: 'localhost', port: 6379, db: 'test', pass: '123456' }), secret: '123456789' })); 但是在Kraken中,会话configuration位于文件config/middleware.json 。 我改变了文件使用connect-redis如下: { "middleware": { "session": { "module": "connect-redis", "secret": "99b91c387e6e049308fc31d3cfff5fd3149e419c" } } } 这样,Kraken确实使用Redis作为会话存储,但是我怎样才能像Express一样通过Redis的选项(密码,主机,数据库名称等)呢?

Nodejs和连接“下一个”function

看来,如果我想要移动到Nodejs中的“下一个”function(通常可能是Javascript),我不能将parameter passing给下一个函数。 这是我的意思: app.get('/webpage', SomeFunction, NextFunction); function SomeFunction (req, res, next) { // Do things next(); } function NextFunction (req, res) { // Do other things } 现在,如果在SomeFunction我要说next(req, res); 它似乎没有工作。 它永远不会去的方法。 显然我不能直接传递参数…但是我的问题是为什么? 下一个函数如何知道使用哪个参数? 是因为它们被命名为相同还是自动传递第一个和第二个参数? 如果NextFunction使用blah, bleet而不是req, res会继续工作吗?

dnode是否具有authentication中间件?

我build立一个快速的应用程序,使用everyauth,并希望使用dnode。 我希望能够使用req.loggedIn布尔设置,但是为了dnode rpc调用。 这可以通过让dnode听取expression来完成吗? 它可以访问expression中间件的东西?

tcp客户端与socket.io(nodejs)

我需要一个连接到C#应用程序的nodejs服务器,我不喜欢使用第三方库,所以我一直在尝试使用TcpClient ,服务器是这样的: var io = require('socket.io').listen(8000); io.socket.on('connection',function(socket) { console.log("connected"); } 和C#项目上: var client = new TcpClient(Server,8000); Socket s = client.Client; if (!s.Connected) { s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveBuffer, 16384); MessageBox.Show("disconnected"); } else { MessageBox.Show("connected"); s.Send(Encoding.UTF8.GetBytes("something")); } 对于我所理解的"something"我应该写一些能够触发nodejs端的“on('connection')”的东西,我错过了什么? PS:如果你知道我需要的一个好的第三方库,你可以提到它

如何写入Node.js Connect / Expresslogging器?

我有一个Express项目,我已经设置login到一个文件: logPath = '/mnt/log/api.log' logfile = fs.createWriteStream logPath, {flags: 'a'} loggingOptions = format: 'default' stream: logfile app.use express.logger(loggingOptions) 这适用于logging请求,但我想添加自己的消息到日志,但我不知道如何。 console.log没有redirect,并且似乎没有创build可以写入的“logging器”对象。 那么我唯一的select就是传递一个对文件stream的引用并写入这个引用?