1.自定义一个类继承UserDetailsService,重写loadUserByUserName
()方法,自动装配JdbcTemplate
2.准备好sql语句,使用jdbcTemplate的query()方法查询数据库
注意:在启动项目时,如果浏览器cookie中残留remember-me或者在JdbcTokenRepository令牌仓库中存有记录需要删除,否则可能会报java.lang.IndexOutOfBoundsException异常和java.lang.IllegalArgumentException异常
3.将数据库查询到的用户对象进行角色和权限信息的设置,使用new SimpleGrantedAuthority()方法设置角色和权限,带有前缀“ROLE_”的为角色信息,不带的为权限信息。将用户名和密码以及authority封装到UserDetails中返回