springsecurity框架里面的密码必须是加密的,当我们的前端将用户名和密码传到后端的时候,这个密码就会被框架加密,这个加密的工具springsecurity框架给提供了很多,我们可以选择使用,一般我们用这个加密对象进行加密
记住,现在我们选择这个框架里面的BCryptPasswordEncoder这个加密对象。那么既然我们在测试类里面知道了这个加密的对象,他如何在我们的项目里面集成呢?也就是如何将这个对象放到我们的项目里面呢?
之前我们已经在springsecurity.xml里面已经引入过这个加密的对象
1 把加密对象放入的IOC容器中
这个id的名字是有默认的名字passwordEncoder
2 如果你改了默认的名字,那么需要加这一步
在认证来源里面进行添加这个
3 这个就可以了,意思是以后前端传过来的密码,项目就会加密之后才进行判断和数据库一样不一样 只需要配置加密的规则,其他的不用管。
4 但是还有一个问题,数据库里面的密码也应该是加密的,注册保存的时候,直接在代码里面将密码进行加密,之后再保存到数据库里面。
在注册的代码里面加一个加密的代码就可以了
5 认证失败还是需要走认证的规则的,因为之前只是将登录的页面释放了,现在还要将失败的页面也释放。
以上就是加密的所有的流程