超全的springboot+springsecurity前后端分离简单实现1、前⾔部分
1.1、唠嗑部分(如何学习?)
看springsecurtiy原理图的时候以为洒洒⽔,妈的,结果⾃⼰动⼿做的时候⼀窍不通,所以⼀定不要眼⾼⼿低,实践出真知! 通过各种⽅式学习springsecurity,在B站、腾讯课堂、⽹易课堂、慕课⽹没有springsecurity的前后端分离的教学视频,那我就去csdn去寻springsecurity博客,发现⼏个问题:
要么就是前后端不分离,要么就是通过内存⽅式读取数据,⽽不是通过数据库的⽅式读取数据,要么就是⼤佬们给的代码不全、把代码讲的太绕,关键部分没有注释。
讲的例⼦不那么通俗易懂,不利于新⼿的学习。
代码本⾝有bug,或者就没有我想要实现的效果。
实在不⾏我⼜跑去github上开源项⽬学习,github由于是外国⽹站,国内访问速度有点慢!!那就⽤国内的gitee吧,gitee上的开源项⽬都是结合实战项⽬的,代码逻辑也⽐较复杂,我对项⽬的业务逻辑没什么了解,感觉不适合我。我这⼀次选择⽐较反⼈性的⽅式去学习,就是⼿撕源码和看官⽅⽂档。⽼实讲,刚开始看源码和官⽅⽂档特别难受,并且看不进去,那些springsecurity的类还有接⼝名字⼜臭⼜长,这时我就下载源码,源码的注释多的就像⼀本书,⾮常详细且权威。
当然别指望看⼏遍就能看懂,我看这些注释、源码、博客看了10⼏遍甚⾄20⼏遍才看懂,每次去看都有不同的收获
此⽂章截图⽔平不⾼、理解为主、欣赏为辅!!内容有点多,每⼀步都有详细解析,请耐⼼看完,看不懂可以多看⼏遍。。
1.2、技术⽀持
jdk 1.8、springboot 2.3.4、mybatis-plus 3.4.1、mysql 5.5、springsecurity 5.3.4、springmvc、lombok简化entity代码,不⽤你去写get、set⽅法,全部⾃动⽣成、gson 2.8.2 将json对象转化成json字符串
1.3、预期实现效果图
未登录时访问指定资源, 返回未登录的json字符串 , index是我在controller层写的⼀个简单接⼝,返回index字符串
输⼊账号错误,返回⽤户名错误的json字符串 , 需说明⼀点,/login是springsecurity封装好的接⼝,⽆须你在controller写login接⼝,/logout也同理。
输⼊密码错误,返回密码错误的json字符串
登录成功, 返回登录成功的json字符串并返回cookie
登录成功并且拥有权限访问指定资源, 返回资源相关数据的json字符串
登录成功但⽆权限访问指定资源时,返回权限不⾜的json字符串适合新手的spring boot
异地登录,返回异地登录,强制下线的json字符串 , 测试的基础是要在两台不同的机器上登录,然后访问/index。
注销成功,返回注销成功的json字符串并删除cookie
2、核⼼部分
2.1、springsecurity原理解释:
springsecurity最重要的两个部分: authentication(认证) 和 authorization(授权)认证: 就是判定你是什么⾝份,管理员还是普通⼈
授权: 什么样的⾝份拥有什么样的权利。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论