Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 如何直接调用Connect中间件?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这样一个快速路线:

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);
    }
});

现在,当用户未经过身份验证时,我想验证http请求是否具有授权(基本)标头.为此,我想使用伟大的连接中间件basicAuth().

如您所知,Express建立在Connect之上,因此我可以使用express.basicAuth.

basicAuth通常用于:

app.get('/',express.basicAuth(function(username,password) {
    // username && password verification...
}),res) {
    res.send();
});

但是,我想在我的authOrDie函数中使用它:

exports.authOrDie = function(req,next) {
    if (req.isAuthenticated()) {
        return next();
    } else if {
        // express.basicAuth ??? ******
    } else {
        res.send(403);
    }
});

******如何使用良好的参数调用basicAuth函数(req?res?next?…).

谢谢.

解决方法

调用express.basicAuth函数会返回要调用的中间件函数,因此您可以像这样直接调用它:

exports.authOrDie = function(req,next) {
    if (req.isAuthenticated()) {
        return next();
    } else {
        return express.basicAuth(function(username,password) {
            // username && password verification...
        })(req,next);
    }
});

大佬总结

以上是大佬教程为你收集整理的node.js – 如何直接调用Connect中间件?全部内容,希望文章能够帮你解决node.js – 如何直接调用Connect中间件?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: