Spring Security Easy Starter 设计与实现

159 阅读1分钟

“ 打造一款让人上手起来得心应手的Spring Security Easy Starter 安全认证框架。”

1、设计初衷

开篇讲到它的目的是让开发者面向它的配置和接口实现进行开发,所以这个是设计它的一个主旋律。另外一个实现依据是抽象出一个让人得心应手的安全认证框架,提高开发者的开发效率和降低使用难度。再一个是选用已有零件一起来组装达到降低本身复杂度。让Spring boot项目开发者再也不用纠结Spring Security框架的使用,ok!

2、 实现架构

由上往下第一层是应用层,需要登录认证授权的Spring Boot Web 项目,中间层是Spring Security Easy Starter 框架,底层是Spring Security 框架。

image.png

2.1、Security Easy Core

Security Easy code 对spring Security 的封装和抽象,是核心功能实现。认证登录默认实现的封装,基于sql的配置实现登录,接口实现自定义逻辑EasyUserDetailService、@EasyPermission 等功能。

2.2、Spring Session

Spring Session 是Spring 自身对外提供对Session的管理,包括实现token - session 机制,和 Session 的存储,支持内存,数据库,缓存redis。

2.3、Jetcache

Jetcache 是阿里开源的缓存框架,使用其提供的 Cache Api 支持本地缓存,Redis 缓存进行灵活的操作缓存。

2.4、RateLimitJ

RateLimitJ 是一个很灵活使用的开源限流框架,我们使用其来实现用户多次登录密码错误锁定功能,在其有效期内禁止登录。

2.5、Spring JDBC

Spring JDBC 是Spring 提供操作数据的框架,使用其来实现登录查询用户信息和权限sql动态配置

3、使用文档

gitee.com/fjh2017/spr…