和spring的整合文件
destroy-method=“close”> 3.pojo文件 package com.dpb.security; public class UserPojo{ private Integer id; private String username; private String password; private String salt; private String nickname; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getSalt() { return salt; } public void setSalt(String salt) { this.salt = salt; } public String getNickname() { return nickname; } public void setNickname(String nickname) { this.nickname = nickname; } } 4.dao接口 定义一个根据账号查询的方法即可 5.映射文件 select * from t_user where username = #{userName} 6.service 接口定义 接口实现 二、service修改 ========================================================================== 接下来我们看看如何将SpringSecurity引入进来 1.UserService 继承 UserDetailService接口 2.重写loadUserByusername方法 @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; } } 三、配置文件修改 ======================================================================= 既然使用自定义的认证方法,那么原来设置的内存中的账号就不需要了 四、登录测试 ===================================================================== 启动系统,登录测试即可 搞定~ 五、加密处理 ===================================================================== 显然在实际项目中,对密码加密是必须的,所以我们就来看看SpringSecurity中是怎么做加密的。我们在此处通过BCryptPasswordEncoder来加密,动态加盐的方式 配置文件中设置加密规则 去掉{noop}



