spring security 5 使用及分析(二:自定义配置—登录页配置及原理)
在上一期我主要介绍了Spring Security的一些基础的配置,以及源码的介绍。这一期我们来介绍如何通过自定义配置来实现权限的控制。
1.1、登录页配置及使用
首先,我们要有数据库的用户表, 这里我已经创建了sys_user用户表:
这里简单的说下这个登陆验证的流程,以便大家更好的理解下面的代码,先看图:
绿色背景色是我们需要自定义实现的,也就是下面会出现的类方法
对于中间件那块来说是暂时没有的,可以不管先,后面的文章会引入,到时候再作介绍
其实,Spring Security认证的流程是没有那么简单的,这里只是给大家方便理解才简化了很多流程
下面就开始展示代码
由于需要操作数据库,以及展示页面等,这里就需要引入持久层以及前端页面一些框架
我这里用的是持久层是Spring Data Jpa,前端用的是Thymeleaf,Maven代码如下:
properties文件配置如下:
接下来,创建一个用户实体类:
接下来我们创建一个SysUserRepository,也就是我们所说的dao层,由于JPA为我们提供了一系列的接口和方法,我们只需要去继承他们的接口就能满足一般的修改、查询等操作,代码如下:
然后是创建一个service层SysUserService,代码如下图:
接下来我们配置自定义认证授权类:
这里虽然做了自定义认证授权类,还需要建立认证成功和失败的处理结果类。下面是认证成功代码:
认证失败类代码如下:
那么代码写到这里,Spring Security就已经万事具备了,我们差的就是对Spring Security配置了,这里创建一个配置SpringSecurity类然后去继承WebSecurityConfigurerAdapter
好了,本期的Spring Security的演示就到这里了,欢迎大家的阅读,我们下期见!