修复无权限

This commit is contained in:
LionCity
2020-08-06 23:17:42 +08:00
parent 8d7fd7df85
commit f769413425
3 changed files with 60 additions and 61 deletions

View File

@ -42,7 +42,7 @@ public class OnlineController {
@ApiOperation("查询在线用户")
@GetMapping
@PreAuthorize("@el.check()")
@PreAuthorize("@el.check('auth_online')")
public ResponseEntity<Object> getAll(@RequestParam(value = "filter",defaultValue = "") String filter,
@RequestParam(value = "type",defaultValue = "0") int type,
Pageable pageable){

View File

@ -12,11 +12,7 @@ import co.yixiang.common.service.impl.BaseServiceImpl;
import co.yixiang.common.utils.QueryHelpPlus;
import co.yixiang.dozer.service.IGenerator;
import co.yixiang.exception.EntityExistException;
import co.yixiang.modules.system.domain.Dept;
import co.yixiang.modules.system.domain.Menu;
import co.yixiang.modules.system.domain.Role;
import co.yixiang.modules.system.domain.RolesDepts;
import co.yixiang.modules.system.domain.RolesMenus;
import co.yixiang.modules.system.domain.*;
import co.yixiang.modules.system.service.RoleService;
import co.yixiang.modules.system.service.RolesDeptsService;
import co.yixiang.modules.system.service.RolesMenusService;
@ -42,14 +38,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
// 默认不使用缓存
@ -243,6 +232,7 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleMapper, Role> implement
role.setPermission(resources.getPermission());
this.saveOrUpdate(role);
}
/**
* 获取用户权限信息
*
@ -260,11 +250,20 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleMapper, Role> implement
role.setDepts(deptSet);
}
Set<String> permissions = roles.stream().filter(role -> StringUtils.isNotBlank(role.getPermission())).map(Role::getPermission).collect(Collectors.toSet());
permissions.addAll(
// permissions.addAll(
// roles.stream().flatMap(role -> role.getMenus().stream())
// .filter(menu -> StringUtils.isNotBlank(menu.getPermission()))
// .map(Menu::getPermission).collect(Collectors.toSet())
// );
roles.stream().flatMap(role -> role.getMenus().stream())
.filter(menu -> StringUtils.isNotBlank(menu.getPermission()))
.map(Menu::getPermission).collect(Collectors.toSet())
);
.forEach(menu -> {
// 添加基于Permission的权限信息
for (String permission : StringUtils.split(menu.getPermission(), ",")) {
permissions.add(permission);
}
});
return permissions.stream().map(SimpleGrantedAuthority::new)
.collect(Collectors.toList());
}

View File

@ -49,7 +49,7 @@ public class LocalStorageController {
@Log("导出数据")
@ApiOperation("导出数据")
@GetMapping(value = "/download")
@PreAuthorize("@el.check('admin','localStorage:list')")
@PreAuthorize("@el.check('admin','storage:list')")
public void download(HttpServletResponse response, LocalStorageQueryCriteria criteria) throws IOException {
localStorageService.download(generator.convert(localStorageService.queryAll(criteria), LocalStorageDto.class), response);
}
@ -57,7 +57,7 @@ public class LocalStorageController {
@GetMapping
@Log("查询文件")
@ApiOperation("查询文件")
@PreAuthorize("@el.check('admin','localStorage:list')")
@PreAuthorize("@el.check('admin','storage:list')")
public ResponseEntity<Object> getLocalStorages(LocalStorageQueryCriteria criteria, Pageable pageable){
return new ResponseEntity<>(localStorageService.queryAll(criteria,pageable),HttpStatus.OK);
}
@ -65,7 +65,7 @@ public class LocalStorageController {
@PostMapping
@Log("新增文件")
@ApiOperation("新增文件")
@PreAuthorize("@el.check('admin','localStorage:add')")
@PreAuthorize("@el.check('admin','storage:add')")
public ResponseEntity<Object> create(@RequestParam String name, @RequestParam("file") MultipartFile file){
return new ResponseEntity<>(localStorageService.create(name,file),HttpStatus.CREATED);
}
@ -73,7 +73,7 @@ public class LocalStorageController {
@PutMapping
@Log("修改文件")
@ApiOperation("修改文件")
@PreAuthorize("@el.check('admin','localStorage:edit')")
@PreAuthorize("@el.check('admin','storage:edit')")
public ResponseEntity<Object> update(@Validated @RequestBody LocalStorageDto resources){
localStorageService.updateLocalStorage(resources);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
@ -81,7 +81,7 @@ public class LocalStorageController {
@Log("删除文件")
@ApiOperation("删除文件")
@PreAuthorize("@el.check('admin','localStorage:del')")
@PreAuthorize("@el.check('admin','storage:del')")
@DeleteMapping
public ResponseEntity<Object> deleteAll(@RequestBody Long[] ids) {
Arrays.asList(ids).forEach(id->{