整理代码、修改登录接口使用密文传输

This commit is contained in:
caozehui
2025-03-26 15:43:39 +08:00
parent 9a7d841d9c
commit 55208ecf69
36 changed files with 174 additions and 231 deletions

View File

@@ -45,6 +45,8 @@ public class AuthController extends BaseController {
private final ISysUserService sysUserService;
private final CustomCacheUtil customCacheUtil;
private final String PUBLIC_KEY = "publicKey";
private final String PRIVATE_KEY = "privateKey";
private KeyPair keyPair;
@@ -57,7 +59,16 @@ public class AuthController extends BaseController {
byte[] decode = Base64.getDecoder().decode(param.getUsername());
String username = new String(decode);
String password = null;
try {
String keyPairJSON = customCacheUtil.get(username, false);
if (StrUtil.isNotBlank(keyPairJSON)) {
Map map = JSON.parseObject(keyPairJSON, Map.class);
keyPair = new KeyPair(RSAUtil.stringToPublicKey(map.get(PUBLIC_KEY).toString()), RSAUtil.stringToPrivateKey(map.get(PRIVATE_KEY).toString()));
}
if (!param.getChecked()) {
customCacheUtil.remove(username);
}
password = RSAUtil.decrypt(param.getPassword(), keyPair.getPrivate());
} catch (Exception e) {
throw new BusinessException(UserResponseEnum.RSA_DECRYT_ERROR);
@@ -129,10 +140,18 @@ public class AuthController extends BaseController {
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@ApiOperation("获取RSA公钥")
@GetMapping("/getPublicKey")
public HttpResult<String> publicKey() throws Exception {
public HttpResult<String> publicKey(@RequestParam("username") String username, @RequestParam("checked") Boolean checked) throws Exception {
String methodDescribe = getMethodDescribe("publicKey");
LogUtil.njcnDebug(log, "{}获取RSA公钥", methodDescribe);
keyPair = RSAUtil.generateKeyPair();
if (checked) {
Map map = new HashMap();
map.put(PUBLIC_KEY, RSAUtil.publicKeyToString(keyPair.getPublic()));
map.put(PRIVATE_KEY, RSAUtil.privateKeyToString(keyPair.getPrivate()));
customCacheUtil.putWithExpireTime(username, JSON.toJSONString(map), DateUnit.DAY.getMillis() * 30);
} else {
customCacheUtil.remove(username);
}
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, RSAUtil.publicKeyToString(keyPair.getPublic()), methodDescribe);
}

View File

@@ -59,7 +59,7 @@ public class SysFunctionController extends BaseController {
@GetMapping("/functionTreeNoButton")
@ApiOperation("菜单树-不包括按钮")
public HttpResult<List<SysFunction>> getFunctionTreeNoButton() {
String methodDescribe = getMethodDescribe("getFunctionTree");
String methodDescribe = getMethodDescribe("getFunctionTreeNoButton");
List<SysFunction> list = sysFunctionService.getFunctionTree(false);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}

View File

@@ -49,16 +49,6 @@ public class SysUserController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@GetMapping("/listUserByDeptId")
@ApiOperation("查询部门下的用户")
@ApiImplicitParam(name = "deptId", value = "部门id", required = true)
public HttpResult<List<SysUser>> listUserByDeptId(String deptId) {
String methodDescribe = getMethodDescribe("listAllUserByDeptId");
List<SysUser> list = sysUserService.listUserByDeptId(deptId);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
@OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.ADD)
@PostMapping("/add")
@ApiOperation("新增用户")

View File

@@ -100,5 +100,7 @@ public class SysUserParam {
@NotBlank(message = UserValidMessage.PASSWORD_NOT_BLANK)
@Pattern(regexp = PatternRegex.PASSWORD_REGEX, message = UserValidMessage.PASSWORD_FORMAT_ERROR)
private String password;
private Boolean checked;
}
}

View File

@@ -20,15 +20,6 @@ public interface ISysRoleFunctionService extends IService<SysRoleFunction> {
*/
List<SysFunction> listFunctionByRoleId(String roleId);
/**
* 新增角色菜单(资源)关联数据
*
* @param roleId 角色id
* @param functionIds 菜单资源ids
* @return 成功返回true失败返回false
*/
boolean addRoleFunction(String roleId, List<String> functionIds);
/**
* 更新角色菜单(资源)关联数据
*

View File

@@ -21,14 +21,6 @@ public interface ISysUserService extends IService<SysUser> {
*/
Page<SysUser> listUser(SysUserParam.SysUserQueryParam queryParam);
/**
* 根据部门ID查询用户列表
*
* @param deptId 部门ID
* @return 用户列表
*/
List<SysUser> listUserByDeptId(String deptId);
/**
* 根据登录名查询用户
*

View File

@@ -30,21 +30,6 @@ public class SysRoleFunctionServiceImpl extends ServiceImpl<SysRoleFunctionMappe
return this.baseMapper.getFunctionListByRoleId(roleId);
}
@Override
@Transactional
public boolean addRoleFunction(String roleId, List<String> functionIds) {
List<SysRoleFunction> roleFunctions = new ArrayList<>();
if (!CollectionUtil.isEmpty(functionIds)) {
functionIds.forEach(functionId -> {
SysRoleFunction roleFunction = new SysRoleFunction();
roleFunction.setRoleId(roleId);
roleFunction.setFunctionId(functionId);
roleFunctions.add(roleFunction);
});
}
return this.saveBatch(roleFunctions);
}
@Override
@Transactional
public boolean updateRoleFunction(String roleId, List<String> functionIds) {

View File

@@ -68,14 +68,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
return page;
}
@Override
public List<SysUser> listUserByDeptId(String deptId) {
if (StrUtil.isNotBlank(deptId)) {
return this.lambdaQuery().ne(SysUser::getState, UserConst.STATE_DELETE).eq(SysUser::getDeptId, deptId).orderByAsc(SysUser::getCreateTime).list();
}
return Collections.emptyList();
}
@Override
public SysUser getUserByLoginName(String loginName) {
return this.lambdaQuery().ne(SysUser::getState, UserConst.STATE_DELETE).eq(SysUser::getLoginName, loginName).one();