.net core过滤器简单应用

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

前言:接触这个的主要原因是我师傅在某一期项目迭代给我分配了一个任务。
任务如下:多设备登录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里面存的设备标识码和

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值