前言
认证、授权是实战项目中必不可少的部分,而Spring Security则将作为首选安全组件,因此陈某新开了 《Spring Security 进阶》 这个专栏,写一写从单体架构到OAuth2分布式架构的认证授权。
Spring security这里就不再过多介绍了,相信大家都用过,也都恐惧过,相比Shiro而言,Spring Security更加重量级,之前的SSM项目更多企业都是用的Shiro,但是Spring Boot出来之后,整合Spring Security更加方便了,用的企业也就多了。
今天陈某就来介绍一下在前后端分离的项目中如何使用Spring Security进行登录认证。文章的目录如下:

前后端分离不同于传统的web服务,无法使用session,因此我们采用JWT这种无状态机制来生成token,大致的思路如下:
陈某使用的是Spring Boot 框架,演示项目新建了两个模块,分别是common-base、security-authentication-jwt。
1、common-base模块
这是一个抽象出来的公共模块,这个模块主要放一些公用的类,目录如下:

2、security-authentication-jwt模块
一些需要定制的类,比如security的全局配置类、Jwt登录过滤器的配置类,目录如下:

3、五张表
权限设计根据业务的需求往往有不同的设计,陈某用的RBAC规范,主要涉及到五张表,分别是用户表、角色表、权限表、用户<->角色表、角色<->权限表,如下图:

上述几张表的SQL会放在案例源码中(这几张表字段为了省事,设计的并不全,自己根据业务逐步拓展即可)
登录接口的逻辑写

本文介绍了在前后端分离的项目中使用Spring Security进行登录认证的方法,采用JWT无状态机制生成token。文章详细讲解了自定义过滤器、认证成功和失败处理器、登录接口逻辑、权限设计等,并提供了相关的代码示例。
最低0.47元/天 解锁文章
1710





