NODE ACL模块生成500而不是403

时间:2017-01-25 11:21:51

标签: node.js express http-status-code-403 http-status-code-500 node-acl

我正在使用Node_ACL,出于授权目的,它工作正常,但每当有任何请求被拒绝时,它都会生成 500内部服务器错误,但它应显示 403访问被拒绝错误< / strong>即可。我已经调查了它的正确安装和设置,但我没有找到任何解决方案。

我使用Express js作为中间件。我不确定是谁导致 500内部服务器错误。我的意思是我在Express js中使用Node-ACL作为中间件。每当客户端发出任何请求时,Node ALC首先对其进行身份验证,然后授予对特定资源的访问权限。因此,当授权失败时, 500内部服务器错误将从服务器进入客户端。所以Express也可能是因为它的中间件失败了。我不知道该怎么做。

请帮忙。感谢。

1 个答案:

答案 0 :(得分:0)

现在我得到了一个解决方案,Node-ACL正常运行。我们只需要在Express app.js(服务器)文件中添加一些代码。代码是:

// Error Handler
app.use(function(err, req, res, next) {
    res.status(err.status || 500).send({message: err.message});
});

在文件末尾(module.exports之前)

添加此代码

现在我收到了正确的错误代码。