我的nestjs项目中有两个身份验证中间件。
- AdminAuth中间件
- UserAuth中间件
AdminAuthMiddleware将在AdminModule中使用,而UserAuthMiddle将在其余模块中使用。
export class AppModule implements NestModule {
static register(option: DynamicModuleOptionType): DynamicModule {
return {
module: AppModule,
imports: [
BullQueueModule.register(option),
KafkaModule.register(option),
CronModule.register(option),
],
};
}
configure(consumer: MiddlewareConsumer) {
consumer.apply(CorsMiddleware).forRoutes('*');
consumer.apply(AdminAuthMiddleware).forRoutes('/v1/admin/(.*)');
consumer
.apply(UserAuthMiddleware)
.exclude(
'v1/admin/(.*)',
'/_livez',
'/_healthz',
'/_readyz',
'/swagger.json',
)
.forRoutes('*');
}
}
UserAuthMiddleware中间件工作正常,但AdminAuthMiddleware未注册管理路由。
我如何解决这个问题?。我们将非常感谢您的帮助。
我尝试只在AdminModule中注册AdminAuthMiddleware,但没有成功。尝试更改中间件注册的顺序your text