nacos支持开启鉴权的配置

pull/5177/head
zhangdaiscott 2023-07-18 14:43:46 +08:00
parent 8d22362fff
commit 96b3ba6e9a
6 changed files with 72 additions and 4 deletions

View File

@ -51,6 +51,23 @@ public class MySwaggerResourceProvider implements SwaggerResourcesProvider {
@Value("${spring.cloud.nacos.discovery.namespace:#{null}}")
private String namespace;
/**
* nacos groupName
*/
@Value("${spring.cloud.nacos.config.group:DEFAULT_GROUP:#{null}}")
private String group;
/**
* nacos username
*/
@Value("${spring.cloud.nacos.discovery.username:#{null}}")
private String username;
/**
* nacos password
*/
@Value("${spring.cloud.nacos.discovery.password:#{null}}")
private String password;
/**
* Swagger
*/
@ -117,14 +134,21 @@ public class MySwaggerResourceProvider implements SwaggerResourcesProvider {
Properties properties=new Properties();
properties.setProperty("serverAddr",serverAddr);
if(namespace!=null && !"".equals(namespace)){
log.info("nacos.discovery.namespace = {}", namespace);
properties.setProperty("namespace",namespace);
}
if(username!=null && !"".equals(username)){
properties.setProperty("username",username);
}
if(password!=null && !"".equals(password)){
properties.setProperty("password",password);
}
//【issues/5115】因swagger文档导致gateway内存溢出
if (this.naming == null) {
this.naming = NamingFactory.createNamingService(properties);
}
List<Instance> list = this.naming.selectInstances(routeId, true);
log.info(" config.group : {}", group);
List<Instance> list = this.naming.selectInstances(routeId, group , true);
if (ObjectUtil.isNotEmpty(list)) {
hasRoute = true;
}

View File

@ -117,6 +117,8 @@ public class DynamicRouteLoader implements ApplicationEventPublisherAware {
log.warn("initConfigService fail");
}
try {
log.info("jeecg.route.config.data-id = {}", gatewayRoutersConfig.getDataId());
log.info("nacos.config.group = {}", gatewayRoutersConfig.getRouteGroup());
String configInfo = configService.getConfig(gatewayRoutersConfig.getDataId(), gatewayRoutersConfig.getRouteGroup(), DEFAULT_TIMEOUT);
if (StringUtils.isNotBlank(configInfo)) {
log.info("获取网关当前配置:\r\n{}", configInfo);

View File

@ -15,8 +15,14 @@ spring:
server-addr: @config.server-addr@
group: @config.group@
namespace: @config.namespace@
username: @config.username@
password: @config.password@
discovery:
server-addr: ${spring.cloud.nacos.config.server-addr}
group: @config.group@
namespace: @config.namespace@
username: @config.username@
password: @config.password@
gateway:
discovery:
locator:

View File

@ -10,8 +10,14 @@ spring:
server-addr: @config.server-addr@
group: @config.group@
namespace: @config.namespace@
username: @config.username@
password: @config.password@
discovery:
server-addr: ${spring.cloud.nacos.config.server-addr}
group: @config.group@
namespace: @config.namespace@
username: @config.username@
password: @config.password@
config:
import:
- optional:nacos:jeecg.yaml

View File

@ -10,8 +10,14 @@ spring:
server-addr: @config.server-addr@
group: @config.group@
namespace: @config.namespace@
username: @config.username@
password: @config.password@
discovery:
server-addr: ${spring.cloud.nacos.config.server-addr}
group: @config.group@
namespace: @config.namespace@
username: @config.username@
password: @config.password@
config:
import:
- optional:nacos:jeecg.yaml

28
pom.xml
View File

@ -432,8 +432,24 @@
<config.namespace></config.namespace>
<!--Nacos配置分组名称-->
<config.group>DEFAULT_GROUP</config.group>
<!--Nacos用户名-->
<config.username></config.username>
<!--Nacos密码-->
<config.password></config.password>
</properties>
</profile>
<!-- 测试Nacos开启鉴权、设置分组和命名空间
<profile>
<id>dev</id>
<properties>
<profile.name>dev</profile.name>
<config.server-addr>jeecg-boot-nacos:8848</config.server-addr>
<config.namespace>ac14ab82-51f8-4f0c-aa5b-25fb8384bfb6</config.namespace>
<config.group>JEECGDEV_GROUP</config.group>
<config.username>nacos</config.username>
<config.password>nacos</config.password>
</properties>
</profile> -->
<!-- 测试 -->
<profile>
<id>test</id>
@ -446,8 +462,12 @@
<config.namespace></config.namespace>
<!--Nacos配置分组名称-->
<config.group>DEFAULT_GROUP</config.group>
</properties>
</profile>
<!--Nacos用户名-->
<config.username></config.username>
<!--Nacos密码-->
<config.password></config.password>
</properties>
</profile>
<!-- 生产 -->
<profile>
<id>prod</id>
@ -460,6 +480,10 @@
<config.namespace></config.namespace>
<!--Nacos配置分组名称-->
<config.group>DEFAULT_GROUP</config.group>
<!--Nacos用户名-->
<config.username></config.username>
<!--Nacos密码-->
<config.password></config.password>
</properties>
</profile>
<!-- SpringCloud运行环境 -->