提交 abc45a93 编写于 作者: 江南一点雨

完善密码加密

上级 ded0daa2
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<parent> <parent>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId> <artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version> <version>2.2.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository --> <relativePath/> <!-- lookup parent from repository -->
</parent> </parent>
......
package org.sang.config;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Component;
import org.springframework.util.DigestUtils;
/**
* @作者 江南一点雨
* @微信公众号 江南一点雨
* @网站 http://www.itboyhub.com
* @国际站 http://www.javaboy.org
* @微信 a_java_boy
* @GitHub https://github.com/lenve
* @Gitee https://gitee.com/lenve
*/
@Component
public class MyPasswordEncoder implements PasswordEncoder {
@Override
public String encode(CharSequence rawPassword) {
return DigestUtils.md5DigestAsHex(rawPassword.toString().getBytes());
}
@Override
public boolean matches(CharSequence rawPassword, String encodedPassword) {
return encodedPassword.equals(DigestUtils.md5DigestAsHex(rawPassword.toString().getBytes()));
}
}
...@@ -32,22 +32,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { ...@@ -32,22 +32,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override @Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception { protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userService).passwordEncoder(new PasswordEncoder() { auth.userDetailsService(userService);
@Override
public String encode(CharSequence charSequence) {
return DigestUtils.md5DigestAsHex(charSequence.toString().getBytes());
}
/**
* @param charSequence 明文
* @param s 密文
* @return
*/
@Override
public boolean matches(CharSequence charSequence, String s) {
return s.equals(DigestUtils.md5DigestAsHex(charSequence.toString().getBytes()));
}
});
} }
@Override @Override
......
...@@ -4,6 +4,7 @@ import org.sang.bean.RespBean; ...@@ -4,6 +4,7 @@ import org.sang.bean.RespBean;
import org.sang.bean.User; import org.sang.bean.User;
import org.sang.service.UserService; import org.sang.service.UserService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
...@@ -38,7 +39,7 @@ public class LoginRegController { ...@@ -38,7 +39,7 @@ public class LoginRegController {
return new RespBean("error", "尚未登录,请登录!"); return new RespBean("error", "尚未登录,请登录!");
} }
@RequestMapping("/reg") @PostMapping("/reg")
public RespBean reg(User user) { public RespBean reg(User user) {
int result = userService.reg(user); int result = userService.reg(user);
if (result == 0) { if (result == 0) {
......
...@@ -2,6 +2,7 @@ package org.sang.service; ...@@ -2,6 +2,7 @@ package org.sang.service;
import org.sang.bean.Role; import org.sang.bean.Role;
import org.sang.bean.User; import org.sang.bean.User;
import org.sang.config.MyPasswordEncoder;
import org.sang.mapper.RolesMapper; import org.sang.mapper.RolesMapper;
import org.sang.mapper.UserMapper; import org.sang.mapper.UserMapper;
import org.sang.utils.Util; import org.sang.utils.Util;
...@@ -9,6 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -9,6 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.DigestUtils; import org.springframework.util.DigestUtils;
...@@ -25,6 +27,8 @@ public class UserService implements UserDetailsService { ...@@ -25,6 +27,8 @@ public class UserService implements UserDetailsService {
UserMapper userMapper; UserMapper userMapper;
@Autowired @Autowired
RolesMapper rolesMapper; RolesMapper rolesMapper;
@Autowired
PasswordEncoder passwordEncoder;
@Override @Override
public UserDetails loadUserByUsername(String s) throws UsernameNotFoundException { public UserDetails loadUserByUsername(String s) throws UsernameNotFoundException {
...@@ -51,7 +55,7 @@ public class UserService implements UserDetailsService { ...@@ -51,7 +55,7 @@ public class UserService implements UserDetailsService {
return 1; return 1;
} }
//插入用户,插入之前先对密码进行加密 //插入用户,插入之前先对密码进行加密
user.setPassword(DigestUtils.md5DigestAsHex(user.getPassword().getBytes())); user.setPassword(passwordEncoder.encode(user.getPassword()));
user.setEnabled(true);//用户可用 user.setEnabled(true);//用户可用
long result = userMapper.reg(user); long result = userMapper.reg(user);
//配置用户的角色,默认都是普通用户 //配置用户的角色,默认都是普通用户
......
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:mysql:///vueblog?useUnicode=true&characterEncoding=UTF-8 spring.datasource.url=jdbc:mysql:///vueblog2?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.username=username spring.datasource.username=root
spring.datasource.password=password spring.datasource.password=123
mybatis.config-location=classpath:/mybatis-config.xml mybatis.config-location=classpath:/mybatis-config.xml
server.port=8081 server.port=8081
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册