我已经看过错误处理应该如何通过这个堆栈交换在节点中工作,但我不确定护照在认证失败时正在做什么.我有以下LocalStrategy:
passport.use(new LocalStrategy({ usernameField: 'email', passwordField: 'password' },
function(email, password, next) {
User.find({email: UemOrUnm}, function(err, user){
if (err) { console.log('Error > some err'); return next(err); }
if (!user) { console.log('Error > no user'); return next('Incorrect login or password'); }
if (password != user.password) {
return next(Incorrect login or password);
}
return next(null, user);
});
}
));
Run Code Online (Sandbox Code Playgroud)
在我看到'错误>一些错误的'控制台打印输出后,没有其他事情发生.我认为它应该继续在下一个带有错误参数的路径上,但它似乎没有这样做.这是怎么回事?
我正在尝试使用redis with express来创建用户登录和会话.我使用这个curl脚本测试路由:
curl -d 'email=testEmail&password=testPass' http://localhost:3000/users/session
Run Code Online (Sandbox Code Playgroud)
当我这样做,护照通过序列化工作正常,然后它返回http 302.我没有弄清楚序列化后它做了什么,但当我在浏览器中使用我的登录html表单而不是curl尝试它时,它显示我"未经授权"401,我没有看到任何控制台日志.这是我的app.js:
var express = require('express')
, fs = require('fs')
, cons = require('consolidate')
, http = require('http')
, flash = require('connect-flash')
, passport = require('passport')
, RedisStore = require( "connect-redis" )(express) //for sessions (instead of MemoryStore)
, redis = require('redis')
, env = process.env.NODE_ENV || 'development'
, config = require('./config/config')[env]
, db = redis.createClient(config.db.port, config.db.host);
db.select(config.db.users)
db.auth(config.db.auth);
var app = express();
//require passport strategies (see code block below)
require('./config/passport')(passport, config, app)
app.use('/assets', …Run Code Online (Sandbox Code Playgroud) 我试图从斯洛伐克语中的一个单词串中提取字符.例如,"TURTLE"一词是"KORYTNAČKA".但是,当我尝试从字符串中提取它时,它会跳过"Č"字符:
local str = "KORYTNA?KA"
for c in str:gmatch("%a") do print(c) end
--result: K,O,R,Y,T,N,A,K,A
Run Code Online (Sandbox Code Playgroud)
我正在阅读这个页面,我也尝试将字符串本身作为一个集合粘贴,但它提出了一些奇怪的东西:
local str = "KORYTNA?KA"
for c in str:gmatch("["..str.."]") do print(c) end
--result: K,O,R,Y,T,N,A,Ä,Œ,K,A
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这个问题?
我正在尝试将 Ghost 安装到我的节点应用程序。我按照配置说明运行,但是当我导航到 blog 子目录时,它只显示我网站的主页。我将快速应用程序实例传递给它以启动服务器。我究竟做错了什么?
var ghost = require('ghost');
ghost().then(function (ghostServer) {
app.use(ghostServer.config.paths.subdir, ghostServer.rootApp);
ghostServer.start(app);
});Run Code Online (Sandbox Code Playgroud)
我在网上阅读了有关使用 ngynx 或 apache 运行 Ghost 并将其配置为执行某种代理操作的信息,但我真的不明白这是怎么回事。
我不确定我是否理解使用redis pub/sub和使用node/express'事件发射器之间的区别.pub/sub是否以任何方式与我的数据库交互?在什么情况下我会使用一个而不是另一个?
express ×3
node.js ×3
passport.js ×2
redis ×2
coronasdk ×1
events ×1
ghost-blog ×1
lua ×1
lua-patterns ×1
string ×1
unicode ×1