Commit 2d661e00 authored by Shen's avatar Shen

1. tb_user 内容加密

2. 用户发起预约返回个人信息接口对数据解密
3. 新增数据库修改信息
parent 75556489
ALTER TABLE `tb_user` MODIFY COLUMN `mobile` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '手机号' AFTER `head_url`;
\ No newline at end of file
...@@ -58,17 +58,14 @@ public class ShiroConfig { ...@@ -58,17 +58,14 @@ public class ShiroConfig {
Map<String, String> filterMap = new LinkedHashMap<>(); Map<String, String> filterMap = new LinkedHashMap<>();
filterMap.put("/webjars/**", "anon"); filterMap.put("/webjars/**", "anon");
filterMap.put("/druid/**", "anon"); // filterMap.put("/druid/**", "anon");
filterMap.put("/login", "anon"); filterMap.put("/login", "anon");
filterMap.put("/swagger/**", "anon"); // filterMap.put("/swagger/**", "anon");
filterMap.put("/v2/api-docs", "anon"); // filterMap.put("/v2/api-docs", "anon");
filterMap.put("/swagger-ui.html", "anon"); // filterMap.put("/swagger-ui.html", "anon");
filterMap.put("/doc.html", "anon"); // filterMap.put("/doc.html", "anon");
filterMap.put("/swagger-resources/**", "anon"); // filterMap.put("/swagger-resources/**", "anon");
filterMap.put("/service/**", "anon"); filterMap.put("/service/**", "anon");
filterMap.put("/editor-app/**", "anon");
filterMap.put("/diagram-viewer/**", "anon");
filterMap.put("/modeler.html", "anon");
filterMap.put("/captcha", "anon"); filterMap.put("/captcha", "anon");
filterMap.put("/favicon.ico", "anon"); filterMap.put("/favicon.ico", "anon");
filterMap.put("/**", "oauth2"); filterMap.put("/**", "oauth2");
......
...@@ -37,7 +37,7 @@ spring: ...@@ -37,7 +37,7 @@ spring:
test-on-borrow: false test-on-borrow: false
test-on-return: false test-on-return: false
stat-view-servlet: stat-view-servlet:
enabled: true enabled: false
url-pattern: /druid/* url-pattern: /druid/*
#login-username: admin #login-username: admin
#login-password: admin #login-password: admin
......
...@@ -22,7 +22,7 @@ spring: ...@@ -22,7 +22,7 @@ spring:
test-on-borrow: false test-on-borrow: false
test-on-return: false test-on-return: false
stat-view-servlet: stat-view-servlet:
enabled: true enabled: false
url-pattern: /druid/* url-pattern: /druid/*
#login-username: admin #login-username: admin
#login-password: admin #login-password: admin
......
...@@ -9,6 +9,7 @@ import com.google.gson.reflect.TypeToken; ...@@ -9,6 +9,7 @@ import com.google.gson.reflect.TypeToken;
import io.hmit.annotation.Login; import io.hmit.annotation.Login;
import io.hmit.common.constant.Constant; import io.hmit.common.constant.Constant;
import io.hmit.common.utils.Result; import io.hmit.common.utils.Result;
import io.hmit.common.utils.sm.SMUtil;
import io.hmit.common.validator.ValidatorUtils; import io.hmit.common.validator.ValidatorUtils;
import io.hmit.config.ZhelibanUtils; import io.hmit.config.ZhelibanUtils;
import io.hmit.dto.LoginDTO; import io.hmit.dto.LoginDTO;
...@@ -175,13 +176,13 @@ public class ApiLoginController { ...@@ -175,13 +176,13 @@ public class ApiLoginController {
userId = user.getId(); userId = user.getId();
userMap.put("username", user.getUsername()); userMap.put("username", user.getUsername());
userMap.put("mobile", user.getMobile()); userMap.put("mobile", SMUtil.SM4Decrypt(user.getMobile()));
userMap.put("idnum",user.getIdCardNo()); userMap.put("idnum", SMUtil.SM4Decrypt(user.getIdCardNo()));
}else{ }else{
userId = oldUser.getId(); userId = oldUser.getId();
userMap.put("username", oldUser.getUsername()); userMap.put("username", oldUser.getUsername());
userMap.put("mobile", oldUser.getMobile()); userMap.put("mobile", SMUtil.SM4Decrypt(oldUser.getMobile()));
userMap.put("idnum",oldUser.getIdCardNo()); userMap.put("idnum", SMUtil.SM4Decrypt(oldUser.getIdCardNo()));
} }
TokenEntity tokenEntity = tokenService.createToken(userId); TokenEntity tokenEntity = tokenService.createToken(userId);
...@@ -194,4 +195,9 @@ public class ApiLoginController { ...@@ -194,4 +195,9 @@ public class ApiLoginController {
} }
} }
@GetMapping("encryptOneTime")
public Result<Object> encryptOneTime() {
return userService.encryptOneTime();
}
} }
package io.hmit.service; package io.hmit.service;
import io.hmit.common.service.BaseService; import io.hmit.common.service.BaseService;
import io.hmit.common.utils.Result;
import io.hmit.dto.LoginDTO; import io.hmit.dto.LoginDTO;
import io.hmit.entity.UserEntity; import io.hmit.entity.UserEntity;
...@@ -26,4 +27,12 @@ public interface UserService extends BaseService<UserEntity> { ...@@ -26,4 +27,12 @@ public interface UserService extends BaseService<UserEntity> {
* @return 返回登录信息 * @return 返回登录信息
*/ */
Map<String, Object> login(LoginDTO dto); Map<String, Object> login(LoginDTO dto);
/**
* <h1>此方法对全部 手机号及身份证号 进行加密</h1>
* 请勿执行此代码
*/
@Deprecated
Result<Object> encryptOneTime();
} }
...@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; ...@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.hmit.common.exception.ErrorCode; import io.hmit.common.exception.ErrorCode;
import io.hmit.common.exception.HmitException; import io.hmit.common.exception.HmitException;
import io.hmit.common.service.impl.BaseServiceImpl; import io.hmit.common.service.impl.BaseServiceImpl;
import io.hmit.common.utils.Result;
import io.hmit.common.utils.sm.SMUtil;
import io.hmit.common.validator.AssertUtils; import io.hmit.common.validator.AssertUtils;
import io.hmit.dao.UserDao; import io.hmit.dao.UserDao;
import io.hmit.dto.LoginDTO; import io.hmit.dto.LoginDTO;
...@@ -16,7 +18,10 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -16,7 +18,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@Service @Service
public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implements UserService { public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implements UserService {
...@@ -60,4 +65,26 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem ...@@ -60,4 +65,26 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
return map; return map;
} }
/**
* <h1>此方法对全部 手机号及身份证号 进行加密</h1>
* 请勿执行此代码
*/
@Override
public Result<Object> encryptOneTime() {
QueryWrapper<UserEntity> wrapper = new QueryWrapper<>();
List<UserEntity> userEntities = baseDao.selectList(wrapper);
String testStr = userEntities.get(0).getMobile();
Pattern pattern = Pattern.compile("[0-9]{1,}");
Matcher matcher = pattern.matcher(testStr);
if (!matcher.matches()) {
return new Result<>().error("加密内容何必再加密");
}
for (UserEntity userEntity : userEntities) {
userEntity.setIdCardNo(SMUtil.SM4Encrypt(userEntity.getIdCardNo()));
userEntity.setMobile(SMUtil.SM4Encrypt(userEntity.getMobile()));
baseDao.updateById(userEntity);
}
return new Result<>().ok(null);
}
} }
...@@ -21,7 +21,7 @@ spring: ...@@ -21,7 +21,7 @@ spring:
test-on-borrow: false test-on-borrow: false
test-on-return: false test-on-return: false
stat-view-servlet: stat-view-servlet:
enabled: true enabled: false
url-pattern: /druid/* url-pattern: /druid/*
#login-username: admin #login-username: admin
#login-password: admin #login-password: admin
......
...@@ -21,7 +21,7 @@ spring: ...@@ -21,7 +21,7 @@ spring:
test-on-borrow: false test-on-borrow: false
test-on-return: false test-on-return: false
stat-view-servlet: stat-view-servlet:
enabled: true enabled: false
url-pattern: /druid/* url-pattern: /druid/*
#login-username: admin #login-username: admin
#login-password: admin #login-password: admin
......
...@@ -21,7 +21,7 @@ spring: ...@@ -21,7 +21,7 @@ spring:
test-on-borrow: false test-on-borrow: false
test-on-return: false test-on-return: false
stat-view-servlet: stat-view-servlet:
enabled: true enabled: false
url-pattern: /druid/* url-pattern: /druid/*
#login-username: admin #login-username: admin
#login-password: admin #login-password: admin
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment