gitee地址:https://gitee.com/Glish/cloud-base
基础模块
初始化默认的Constant、Exception、Result、分页工具和SQL过滤工具
网关中心
网关采用gateway技术,初始化路径配置如下,包含认证服务
spring:
cloud:
gateway:
routes:
- id: base-auth-routes
uri: lb://base-auth
predicates:
- Path=/base-auth/**
filters:
- StripPrefix=1
前端技术采用前后端分离,所以在网关添加全局跨域
@Configuration
public class CorsConfig {
@Bean
public CorsWebFilter corsWebFilter() {
CorsConfiguration config = new CorsConfiguration();
config.setAllowCredentials(true);
config.addAllowedMethod("*");
config.addAllowedOrigin("*");
config.addAllowedHeader("*");
//设置预检请求的缓存时间(秒),在这个时间段里,对于相同的跨域请求不会再预检了
config.setMaxAge(18000L);
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser());
source.registerCorsConfiguration("/**", config);
return new CorsWebFilter(source);
}
}
认证服务
认证服务设计包含用户表、角色表、菜单表、用户角色关系表和角色菜单表五张表构成,ER图如下所示。
其中用户与角色关联,角色与菜单关联,用户的菜单权限需要通过角色关联ID实现。