深入技术细节:放弃Spring Security,自己实现Token权限控制!

最近做了个项目,大家都知道很多的项目都是在自己手上原本的框架内进行业务开发。但是甲方爸爸的这个项目需要交付原代码,并且要求框架逻辑简单清晰,二次开发简易上手。

那不是要重新从0到1写一套框架吗?

试着先给甲方爸爸报一下老的框架吧。于是我把框架内有的技术点和实现组件罗列了出来,甲方爸爸看后立马做了表述:框架臃肿复杂,就单单一个Spring Security必须要求切割。

没办法谁给钱,谁就是老大呗。

索性开发周期时长还算可以,那就重新弄一套,就简简单单的框架逻辑,有数据库、缓存机制就可以了,把之前的什么消息队列、加密机制、OSS、推送、短信还有大数据套件全删除掉,自己还轻松不是。

以上说的都好办,但是问题来了,如何放弃Spring Security,利用Spring Boot自身的接口来实现Token校验和长登录状态以及登录异常回馈呢。总不能一个接口下进行一次校验那么麻烦吧。

索性咱写代码和思维逻辑还挺牛掰的,一通搞下来,其实很简单。那么来看看怎么样实现吧,

1. 了解AsyncHandlerInterceptor

AsyncHandlerInterceptor 是 Spring 框架中的一个接口,它用于处理异步请求的拦截。当一个请求被异步处理时,即请求的处理被提交到一个单独的线程中执行,标准的 HandlerInterceptor 可能不会按预期工作,因为它们通常依赖于请求和响应的生命周期。AsyncHandlerInterceptor 提供了额外的回调方法来处理异步请求的完成阶段。

来看看接口的方法:

// 当异步请求开始处理时调用。在这个阶段,主线程可能会继续处理其他请求,而异步处理则在另一个线程中继续。这个方法可以用来执行一些初始化操作,例如设置异步上下文。
afterConcurrentHandlingStarted(HttpServletRequest request, HttpServletResponse response, Object handler); 
// 在请求处理之前调用。这个方法是 HandlerInterceptor 接口的一部分,也被 AsyncHandlerInterceptor 继承。
preHandle(HttpServletRequest request, HttpServletResponse response, Object handler);
// 在请求处理之后,但在视图渲染之前调用。这个方法也是 HandlerInterceptor 接口的一部
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员大猩猩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值