文章目录
BCryptPasswordEncoder 放入容器中
- BCryptPasswordEncoder 放入容器中
- 在AdminService进行注入
- 测试
package com.tensquare.user;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import util.IdWorker;
@SpringBootApplication
public class UserApplication {
public static void main(String[] args) {
SpringApplication.run(UserApplication.class, args);
}
@Bean
public IdWorker idWorkker(){
return new IdWorker(1, 1);
}
/**
* 把加盐加密的类注入容器中
* @return
*/
@Bean
public BCryptPasswordEncoder encoder(){
return new BCryptPasswordEncoder();
}
}
在AdminService进行注入
在添加管理员的方法中, 调用encode方法, 进行密码的加密
@Autowired
private BCryptPasswordEncoder encoder;
/**
* 增加
* @param admin
*/
public void add(Admin admin) {
admin.setId( idWorker.nextId()+"" );
//把原文进行加密
admin.setPassword(encoder.encode(admin.getPassword()));
adminDao.save(admin);
}
测试
启动tensquare_user项目. 发送http://localhost:9008/admin
post请求 请求体内容如下
{
"loginname": "admin",
"password": "123456"
}
响应数据如下
{
"flag": true,
"code": 20000,
"message": "增加成功",
"data": null
}
在数据库中可以看到, 密码已经加密了.