最近在写ssm项目,项目需要使用的技术是:springboot+thymeleaf+jpa+springsecurity。里面项目搭建使用springboot,前端使用thymeleaf,数据持久化使用jpa,权限认证使用springsecurity。看到这里,你是不是以为SpringSecurity就是用用来做权限认证的?
打开百度,我们可以看到这样的介绍:
什么是安全框架?
我们知道,应该web项目,应该进行认证和授权,认证就是验证当前用户是不是本系统用户,并且确认具体是哪个用户,授权就是通过认证之后判断当前用户是不是有xx权限进行某个核心功能。
使用方式:在pom.xml引入相关依赖
当我们引入依赖之后,就会发现,我们再次访问相同的网页,会出现让我们登录。
这是怎么回事,我可没有写登录页面?其实SpringSecurity内部默认就有这个方法,我们需要在正式项目里面重新写这个login来替换原来的。那么她默认的账号密码是什么啊?账号user,密码主要看控制台,默认密码会被打印进去。为啥打印的玩意我看不懂!!!10$tOog08665kiLkPp4WOoFvOrGHepZ0t.1ZS4.Qrot.V57gzg7DfucG。这段代码(乱码)是什么? 其实这是SpringSecurity内置密码加密(加密使用BCryptPasswordEncoder)加密算法我们下次再讲。通过加密把数据存储在数据库,就可以保证数据库数据被窃取后,用户账号的安全
这个流程参考b站三更老师的图
那么我们怎么知道加密之后是什么样子啊?通过test方法
我们测试第一步,new对象,让对象的matches是匹配信息。
因为一般的用户都是存储数据库的,所以基于内存的对象创建大家可以自行百度。
以上就是SpringSecurity基础介绍。下期讲解加密算法。