我遇到了一个问题,当我尝试使用护照登录时,页面不会重定向.授权返回true(正确的用户名,密码).
我很确定它位于我的validPassword功能中,但我不确定.
登录路线
app.get('/login', function (req, res) {
res.render('login', {});
});
Run Code Online (Sandbox Code Playgroud)
登录发布
app.post('/login',
passport.authenticate('local', { successRedirect: '/',
failureRedirect: '/login' }));
Run Code Online (Sandbox Code Playgroud)
用户原型
User.prototype.validPassword = function(username, unhashedPassword) {
async.waterfall([
function (callback) {
User.find({ "username" : username }, function (err, data) {
if(err) return handleError(err);
callback(null, data);
});
},
function (data, callback) {
var isGood = passwordHash.verify(unhashedPassword, data[0].password);
callback(null, isGood);
}
], function (err, result) {
return result;
});
};
Run Code Online (Sandbox Code Playgroud)
地方战略
passport.use(new LocalStrategy(
function(username, password, done) {
var unhashedPassword …Run Code Online (Sandbox Code Playgroud) 我对javascript非常好,但我对node.js和jade相当新.我正在尝试使用socket.io创建一个基本的聊天服务器(遵循我在网上找到的教程),但是我无法启动并运行它.
首先,我创建了一个基本的package.json文件,其中包含以下内容,当node_modules我在工作目录中运行创建目录时.
{
"name": "Chat",
"version": "1.0.0",
"description": "Real Time Chat",
"dependencies": {
"socket.io": "latest",
"express": "latest",
"jade": "latest"
},
"author": "@pattmorter"
}
Run Code Online (Sandbox Code Playgroud)
好到目前为止对吗?
然后我创建了server.js文件和script.js文件.接下来,我home.jade为UI 创建了文件.
doctype 5
html
head
title Chatter
script(src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js')
script(src='socket.io/socket.io.js')
script(src='script.js')
body
//- some other formatting stuff that works correctly
Run Code Online (Sandbox Code Playgroud)
当我启动我的服务器并转到127.0.0.1:3000时,页面显示但在错误控制台中它显示GET http://127.0.0.1:3000/socket.io/socket.io.js 404 (Not Found)错误.
我以为我正确引用了该文件,但我猜不是:(我的思维过程是因为该server.js文件正在呈现home.jade我只需要script(src='socket.io/socket.io.js')在jade文件中执行的文件.
任何暗示正确的方向将不胜感激!
编辑1
这是我的server.js片段
var express = require("express");
var app = express();
var …Run Code Online (Sandbox Code Playgroud)