SpringBoot 项目鉴权的 4 种方式
最近一直被无尽的业务需求淹没,没时间喘息,终于接到一个能让我突破
代码舒适区的活儿,解决它的过程非常曲折,一度让我怀疑人生,不过收
获也很大,代码方面不明显,但感觉自己抹掉了 java、Tomcat、Spring
一直挡在我眼前的一层纱。对它们的理解上了一个新的层次。好久没输出
了,于是挑一个方面总结一下,希望在梳理过程中再了解一些其他的东西
。
由于 Java
繁荣的生态,下面每一个模块都有大量的文章专门讲述。所以我选了另外
一个角度,从实际问题出发,将这些分散的知识串联起来,各位可以作为
一个综述来看。各个模块的极致详细介绍,大家可以去翻官方文档或看网
络上的其他博客。需求很简单清晰,跟产品们提的妖艳需求一点也不一样
:在我们的 web 框架里添加一个 通用的 appkey
白名单校验功能,希望它的扩展性更好一些。
这个 web 框架是部门前驱者基于 spring-boot 实现的,介于业务和
Spring 框架之间,做一些偏向于业务的通用性功能,如
日志输出、功能开关、通用参数解析等。平常是对业务透明的,最近一直
忙于把需求做好,代码写好,甚至从没注意过它的存在。
传统AOP
对于这种需求,首先想到的当然是 Spring-boot 提供的 AOP
接口,只需要在 Controller
方法前添加切点,然后再对切点进行处理即可。
实现
其使用步骤如下: