最近项目遇到个尴尬的问题,有人的身份信息被改了。其他人都没事,就这一个被改了。明明不是代码的问题,但是说不清啊。同事做过这东西,就问了一下。于是加个超管日志来确定有没有人进行了骚操作。
自定义一个中间件
如果你要入库,自己CreateScope然后去弄吧,几行代码的事,我新建的测试项目,再连数据库太麻烦了。
public class MyMiddleware
{
private readonly RequestDelegate _next;
public MyMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task Invoke(HttpContext context)
{
HttpRequest request = context.Request;
try
{
string url = request.Path.ToString();
}
catch (Exception ex)
{
throw;
}
_next.Invoke(context);//这个不加,中间件将会短路,net core3.1启动不了,别想了
}
}
中间件注入
Configure直接添加就好了,我这直接贴的新建项目全部内容,和一个简单的swagger配置
不过别放在UseEndpoints之后,这个end包含了很多含义啊,别问我怎么知道的。
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "Swagger Demo");
});
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
app.UseMiddleware<MiddleWares.MyMiddleware>();//直接加就行了
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}