草庐IT

impersonatedUserID

全部标签

c# - ASP.NET Core 中间件向 Controller 传递参数

我正在使用ASP.NETCoreWebAPI,其中我有多个独立的WebAPI项目。在执行Controller的任何操作之前,我必须检查登录用户是否已经在模拟其他用户(我可以从DB获得)并且可以传递模拟用户Id到actions。由于这是一段可以重用的代码,我想我可以使用一个中间件:我可以从请求header获取初始用户登录信息获取模拟的用户ID(如果有)将该ID注入(inject)请求管道中,使其可供被调用的api使用publicclassGetImpersonatorMiddleware{privatereadonlyRequestDelegate_next;privateIImpers