节点 ACL 模块生成 500 而不是 403

NODE ACL Module generating 500 instead of 403

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

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

请帮忙。谢谢

现在我得到了解决方案,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 之前)

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