spring boot + spring security 之 自定义用户登录

搞了两天,学了一个大概,创建security的项目demo已经三四个了,终于初步搞定了登录认证,至于授权,登录都有了,授权不小意思吗?

哈哈,不扯了,我开始说步骤,直接干货,记到你的小本儿上(这可是我翻了三本书,看数不过来的博客上总结的细节)

我搭建的环境是jdk1.8、spring boot 2.4.8、spring security 5.4.7

以下说明,适合spring security5.0以上版本

我这里先不说原理,直接给你们我能登录的代码(因为标题是自定义,下面的内容都是自定义,详细的看你们理解

0.因为spring security是安全框架,有认证和授权的机制,所以需要创建spring security的适配器

这个适配器里面就是配置认证和授权,分别是用户认证(AuthenticationManagerBuilder)和请求授权(HttpSecurity)

用户授权

 

 spring boot + spring security 之 自定义用户登录_第1张图片

这个里面就是加载数据库内的用户放在到spring security中(放在某一个类中,具体哪一个自己查)

 请求认证

 这个里面配置http请求的权限,那些路径可以无权访问和有权访问,在配置一些过滤器,跨域等

(具体的需要什么配置,百度一下都有)

不过有一个我认为挺重要的配置(我也是找的,你们可以搜搜其他配置),因为这个可以让你知道到底有没有登录成功或有没有登录

spring boot + spring security 之 自定义用户登录_第2张图片

 

1.数据库建立用户表(数据结构自己百度,都有,我就不写了)

2.项目建立用户实体类

这个实体类要去实现spring security包内带有的userDeatils类(重点,原理下面说)

 3.建立userService实现spring security包内带有的userDetailsService

4.建立controller,创建登录的uri,需要调用第5个图上的方法

 5.建立securityAuthentication认证(重要)

6.建立第5个图上方法的第三个参数

spring boot + spring security 之 自定义用户登录_第3张图片

 用户登录就到这里,总体讲一下流程

项目启动时会加载spring security的适配器(就是0),加载成功后,通过controller控制器进行用户登录(就是4),到这里spring security自动调用loadUserByUsername这个方法,只要入参到控制器的参数值跟数据库内的参数一致,就能登录成功

我临时写的可能不详细,有问题的留言,欢迎提问、指导问题

 

 

 

 

    

你可能感兴趣的:(spring,security,spring,boot,spring,security,前后端分离,自定义用户登录)