系统管理
概述
macula-cloud-system主要提供系统管理、权限、角色等功能,并提供连接macula-cloud-system应用的能力,生成获取菜单、获取当前用户的Controller。
客户端接入
组件坐标
<dependency>
<groupId>dev.macula.boot</groupId>
<artifactId>macula-boot-starter-system</artifactId>
<version>${macula.version}</version>
</dependency>
使用配置
macula:
cloud:
endpoint: http://127.0.0.1:9000 # 网关地址
app-key: example
secret-key: example
核心功能
对接macula-cloud-system
根据app-key对应的应用获取菜单和用户信息。SystemService是通过远程RPC访问macula-cloud-system。具体的controller如下:
@Tag(name = "system模块对接接口")
@RestController
@RequiredArgsConstructor
public class SystemController {
private final SystemService systemService;
@Operation(summary = "获取登录用户信息")
@GetMapping("/api/v1/users/me")
public UserLoginVO getLoginUserInfo() {
// 从macula-cloud获取用户信息
UserLoginVO userLoginVO = systemService.getUseInfo();
userLoginVO.setRoles(SecurityUtils.getRoles());
return userLoginVO;
}
@Operation(summary = "路由列表")
@GetMapping("/api/v1/menus/routes")
public List<RouteVO> listRoutes() {
return systemService.listRoutes();
}
}
提供按钮权限注解鉴权
@PreAuthorize("@pms.hasPermission('sys:user:del')")
依赖引入
<dependencies>
<dependency>
<groupId>dev.macula.boot</groupId>
<artifactId>macula-boot-commons</artifactId>
</dependency>
<dependency>
<groupId>dev.macula.boot</groupId>
<artifactId>macula-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>dev.macula.boot</groupId>
<artifactId>macula-boot-starter-springdoc</artifactId>
</dependency>
<dependency>
<groupId>dev.macula.boot</groupId>
<artifactId>macula-boot-starter-feign</artifactId>
</dependency>
</dependencies>
服务端介绍
版权说明
- system模块代码参考了youlai-mall,https://github.com/youlaitech/youlai-mall/blob/master/LICENSE