4.dao接口

定义一个根据账号查询的方法即可

spring security数据库设置_外链

5.映射文件

<?xml version="1.0" encoding="UTF-8"?> 
select * from t_user where username = #{userName}

6.service

接口定义

spring security数据库设置_数据库_02

接口实现

spring security数据库设置_数据库_03

二、service修改

==========================================================================

接下来我们看看如何将SpringSecurity引入进来

1.UserService 继承 UserDetailService接口

spring security数据库设置_java_04

2.重写loadUserByusername方法

/**
• 根据账号查询
• @param s 登录表单输入的账号
• @return
• @throws UsernameNotFoundException
*/
@Override
public UserDetails loadUserByUsername(String s) throws UsernameNotFoundException {
// 根据账号去数据库中查询
UserPojo userPojo = this.queryByUserName(s);
if(userPojo != null){
List authorities = new ArrayList<>();
// 设置登录账号的角色
authorities.add(new SimpleGrantedAuthority(“ROLE_USER”));
UserDetails user = new User(userPojo.getUsername(),“{noop}”+userPojo.getPassword(),authorities);
return user;
}
// 返回null 默认表示账号不存在
return null;
}
}

三、配置文件修改

=======================================================================

既然使用自定义的认证方法,那么原来设置的内存中的账号就不需要了

spring security数据库设置_Java_05

四、登录测试

=====================================================================

启动系统,登录测试即可

spring security数据库设置_服务器_06

搞定~

五、加密处理

=====================================================================

显然在实际项目中,对密码加密是必须的,所以我们就来看看SpringSecurity中是怎么做加密的。我们在此处通过BCryptPasswordEncoder来加密,动态加盐的方式