前言:接触这个的主要原因是我师傅在某一期项目迭代给我分配了一个任务。
任务如下:多设备登录app,A设备先登录,B设备后登录,这时A设备作为旧设备再去发出http接口请求时,强制退出登录。
当时拿到这个任务的时候考虑的是通过中间件的形式来解决当前问题,但是中间件这么多,用哪个呢?
1.大胆的迈出第一步尝试的时候,用了UseMiddleware扩展方法注册中间件,在Startup.cs的Configure进行注入,在MyMiddleware.cs中的InvokeAsync方法中可以进行相应的代码实现。


运行时发现,只有在运行的时候会进行触发,我的任务是在http接口调用的时候触发,因此这个对我来说是没有用的。
在这里还是要感谢我师傅,给我指点迷津。
师傅给我的链接,让我先看看这篇
先看看这个依赖注入也是可以的
2.从师傅给我的链接中我又去了解了一下过滤器,在我的理解里中间件就是属于一种过滤,或者说过滤器就是中间件。
其实我这个任务也是进入Controller之前对于当前请求的一种过滤,首先呢,在app登陆之后我会在session存入当前账号的账号以及手机标识码信息,A设备(旧)登录进行记录,当B(新)设备登录时session记录的其实是B的设备标识码,此时A设备进行http请求时,把header里面存的设备标识码和

本文介绍了如何使用.NET Core的过滤器特性来解决多设备登录场景下的特定问题。当新的设备登录后,旧设备发起HTTP请求时,系统通过比较设备标识码来判断并强制旧设备退出。在过滤器中进行设备标识码的验证,实现了在控制器执行前对请求的拦截处理。
最低0.47元/天 解锁文章
602

被折叠的 条评论
为什么被折叠?



