整理代码、修改登录接口使用密文传输
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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("新增用户")
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
/**
|
||||
* 更新角色菜单(资源)关联数据
|
||||
*
|
||||
|
||||
@@ -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);
|
||||
|
||||
/**
|
||||
* 根据登录名查询用户
|
||||
*
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user