egg.js 中间件不起作用?
我再middleware中编写认证接口
authenticate.js
module.exports = options => {
return async function auth(ctx, next) {
console.log('99999999999999999')
let { app } = this
const { redis } = app;
let sign = ctx.get('x-sign');
let user_id = ctx.get('x-user-id');
if (!user_id) {
ctx.throw(412, 'invalid user id');
}
// if (!sign) {
// ctx.throw(412, 'invalid sign');
// }
let token = await redis.get(user_id);
if (!token) {
ctx.throw(412, 'invalid user');
}
await next();
console.log('9999999999999')
};
};
在config.default.js中加载中间件
config.middleware = ['authenticate']
用psotman请求接口,根本没有走这个中间件,是什么原因?
我禁用了csrf
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
特意注册账号来感谢你一下,调试了好久,看到你的才恍然大悟,多谢老铁
~~找到问题了,我在config文件中加入了config.local.js配置文件,在这里面加入middleware就可以,但是我在官方文档上看到config.default.js不管如何都会加载的,为什么在这里面配置就不行?
找到问题了,因为在config.local.js中也配置了middleware,它会覆盖config.default.js中的middleware配置,所以config.defalut.js中的配置没有起到作用,配置文件的加载规则是,其他环境的配置文件会覆盖config.default.js中相同的配置项