fix: 80955 【水平越权】问答库-部分接口未处理水平越权
This commit is contained in:
+1
-2
@@ -222,12 +222,11 @@ public class LawsProblemLibraryServiceImpl extends ServiceImpl<LawsProblemLibrar
|
||||
LoginUser currentUser = UserUtils.getCurrentUser();
|
||||
List<String> userRoleList = userService.getRole(currentUser.getUsername());
|
||||
LawsAnswerLibrary answer = lawsAnswerLibraryService.getById(id);
|
||||
LawsProblemLibrary problem = getById(answer.getProblemId());
|
||||
// 如果是管理员权限 则跳过验证
|
||||
List<String> adminRoleList = Arrays.asList(adminRoleCode.split(","));
|
||||
// 如果不是管理员权限 且不是问题创建者 且不是回答创建者 则没有权限
|
||||
if (adminRoleList.stream().noneMatch(userRoleList::contains)) {
|
||||
if (!currentUser.getUsername().equals(problem.getCreateBy())) {
|
||||
if (!currentUser.getUsername().equals(answer.getUserId())) {
|
||||
throw new JeroBootException(ResultCommon.NO_PERMISSION);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user