|
|
|
@ -146,6 +146,11 @@ public class SysUserController extends BaseController
|
|
|
|
|
@GetMapping(value = { "/", "/{userId}" })
|
|
|
|
|
public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId)
|
|
|
|
|
{
|
|
|
|
|
//安全漏洞测试fix,增加防止越权的操作;不法分子,可能通过修改 userid 抓取、修改、删除、重置 任意用户敏感信息 (1 getInfo)
|
|
|
|
|
if (!userService.checkUserIdAllowed(userId)) {
|
|
|
|
|
return AjaxResult.error("请勿非法操作,你无权操作该用户,userId = " + userId );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
AjaxResult ajax = AjaxResult.success();
|
|
|
|
|
List<SysRole> roles = roleService.selectRoleAll();
|
|
|
|
|
ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
|
|
|
|
@ -195,6 +200,15 @@ public class SysUserController extends BaseController
|
|
|
|
|
public AjaxResult edit(@Validated @RequestBody SysUser user)
|
|
|
|
|
{
|
|
|
|
|
userService.checkUserAllowed(user);
|
|
|
|
|
|
|
|
|
|
if (user.getUserId() == null) {
|
|
|
|
|
return AjaxResult.error("userId不能为空!");
|
|
|
|
|
}
|
|
|
|
|
//安全漏洞测试fix,增加防止越权的操作;不法分子,可能通过修改 userid 抓取、修改、删除、重置 任意用户敏感信息 (2 edit)
|
|
|
|
|
if (!userService.checkUserIdAllowed(user.getUserId())) {
|
|
|
|
|
return AjaxResult.error("请勿非法操作,你无权操作该用户,userId = " + user.getUserId() );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isNotEmpty(user.getPhonenumber())
|
|
|
|
|
&& UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))
|
|
|
|
|
{
|
|
|
|
@ -229,6 +243,15 @@ public class SysUserController extends BaseController
|
|
|
|
|
public AjaxResult resetPwd(@RequestBody SysUser user)
|
|
|
|
|
{
|
|
|
|
|
userService.checkUserAllowed(user);
|
|
|
|
|
|
|
|
|
|
if (user.getUserId() == null) {
|
|
|
|
|
return AjaxResult.error("userId不能为空!");
|
|
|
|
|
}
|
|
|
|
|
//安全漏洞测试fix,增加防止越权的操作;不法分子,可能通过修改 userid 抓取、修改、删除、重置 任意用户敏感信息 (3 resetPwd)
|
|
|
|
|
if (!userService.checkUserIdAllowed(user.getUserId())) {
|
|
|
|
|
return AjaxResult.error("请勿非法操作,你无权操作该用户,userId = " + user.getUserId() );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
|
|
|
|
|
user.setUpdateBy(SecurityUtils.getUsername());
|
|
|
|
|
return toAjax(userService.resetPwd(user));
|
|
|
|
|