2020
09-24
09-24
Spring security基于数据库中账户密码认证
一、原理分析前台的登录请求发送到后端后会由springsecurity进行拦截,即controller层由框架自己提供。这样用户名和密码的认证就需要在service层完成,所以框架需要在service层获取到我们自己的数据库账号信息。springsecurity提供了一个接口UserDetailsService来让用户提供账号和密码,其内容如下publicinterfaceUserDetailsService{UserDetailsloadUserByUsername(Stringusername)throwsUsernameNotFoundException;}...
继续阅读 >
一、原理分析1.1加密原理首先前端页面发送注册的账户信息到controller层,然后依次经过service层和dao层,最后入库。其中对密码的加密应该放在service层进行,加密后再入库。springsecurity中有一个加密类BCryptPasswordEncoder可以用来对密码进行加密,调用其中的encode方法返回一个加密后的字符串publicStringencode(CharSequencerawPassword){Stringsalt;if(strength>0){if(random!=null){sa...