【发布时间】:2013-12-28 19:55:13
【问题描述】:
我正在为 etherpad 制作一个插件,用于检查用户是否经过身份验证。如果不是,则显示只读。我已经走到这一步了:
var eejs = require('ep_etherpad-lite/node/eejs');
var readOnlyManager = require("ep_etherpad-lite/node/db/ReadOnlyManager");
exports.route = function(hook_name, args, cb){
args.app.get('/p/:pad', function(req, res){
if(req.params.pad.indexOf('r.') === 0){
res.send(eejs.require("ep_etherpad-lite/templates/pad.html", {req: req}));
} else {
if(req.session.user){
res.send(eejs.require("ep_etherpad-lite/templates/pad.html", {req: req}));
} else {
readOnlyManager.getReadOnlyId(req.params.pad, function(err, readonlyID){
res.redirect('/p/'+readonlyID);
});
}
}
});
}
exports.logout = function(hook_name, args, cb){
args.app.get('/logout', function(req, res){
req.session.destroy(function(){
res.redirect('/');
});
});
}
但我不能使用发布路由来让我自己的用户登录。如果我访问 /login 时,我怎样才能获得像一般身份验证这样的请求?
【问题讨论】: