Commit 7d2eacc4 by mahx

修改配置文件

parent e7f09706
......@@ -5,7 +5,7 @@
<groupId>com.keymobile</groupId>
<artifactId>relationNeo4j</artifactId>
<version>1.0.1-SNAPSHOT</version>
<version>product-v2-1.0.0-rc1</version>
<packaging>jar</packaging>
<name>relationNeo4j</name>
......@@ -14,11 +14,11 @@
<parent>
<groupId>com.keymobile</groupId>
<artifactId>parent</artifactId>
<version>1.1.8-release</version>
<version>product-v1-1.0.4-rc1</version>
</parent>
<properties>
<auth.version>4.0.9-beta</auth.version>
<auth.version>product-v2-1.0.3-rc1</auth.version>
</properties>
<dependencies>
......@@ -31,21 +31,25 @@
<artifactId>crypto</artifactId>
</dependency>
<dependency>
<groupId>com.keymobile.auth</groupId>
<groupId>com.keymobile.authservice</groupId>
<artifactId>common</artifactId>
<version>${auth.version}</version>
</dependency>
<dependency>
<groupId>com.keymobile.auth</groupId>
<groupId>com.keymobile.authservice</groupId>
<artifactId>security</artifactId>
<version>${auth.version}</version>
</dependency>
<dependency>
<groupId>com.keymobile.authservice</groupId>
<artifactId>component</artifactId>
<version>${auth.version}</version>
</dependency>
<!-- 添加neo4j的jar包 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-neo4j</artifactId>
<version>2.0.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
......@@ -93,14 +97,9 @@
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.1</version>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.0.3</version>
</dependency>
<dependency>
......@@ -144,10 +143,6 @@
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
......@@ -164,12 +159,12 @@
<dependency>
<groupId>com.keymobile</groupId>
<artifactId>config</artifactId>
<version>1.1.8-release</version>
<version>${parent.version}</version>
</dependency>
<dependency>
<groupId>com.keymobile</groupId>
<artifactId>crypto</artifactId>
<version>1.1.8-release</version>
<version>${parent.version}</version>
</dependency>
<dependency>
......
......@@ -10,8 +10,8 @@
<fileSets>
<fileSet>
<directory>src/kits</directory>
<outputDirectory>${file.separator}bin</outputDirectory>
<directory>${project.basedir}/assembly/bin</directory>
<outputDirectory>bin</outputDirectory>
<includes>
<include>**/*.sh</include>
</includes>
......@@ -19,8 +19,8 @@
</fileSet>
<fileSet>
<directory>src/kits</directory>
<outputDirectory>${file.separator}config</outputDirectory>
<directory>${project.basedir}/main/resources</directory>
<outputDirectory>config</outputDirectory>
<includes>
<include>**/*.xml</include>
</includes>
......@@ -28,10 +28,10 @@
</fileSet>
<fileSet>
<directory>${user.dir}/target</directory>
<outputDirectory>${file.separator}lib</outputDirectory>
<directory>${project.basedir}/target</directory>
<outputDirectory>lib</outputDirectory>
<includes>
<include>*.jar</include>
<include>**/*.jar</include>
</includes>
<fileMode>755</fileMode>
</fileSet>
......
......@@ -9,11 +9,18 @@ import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.PropertySource;
import org.springframework.scheduling.annotation.EnableScheduling;
@EnableScheduling
@EnableFeignClients
@SpringBootApplication
@ComponentScan(basePackages ={"com.keymobile.metadataRelation",
"com.keymobile.config.logging", "com.keymobile.config.naming",
"com.keymobile.config.feignclient", "com.keymobile.config.redisclient",
"com.keymobile.authservice.component"})
@PropertySource(value = "classpath:/application.yml")
public class MetadataRelationApplication {
public static void main(String[] args) {
......@@ -26,12 +33,20 @@ public class MetadataRelationApplication {
return new StringEncryptor() {
@Override
public String encrypt(String s) {
return ApplicationHelper.getEncryptor().encrypt(s);
try {
return ApplicationHelper.getEncryptor().encrypt(s);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
@Override
public String decrypt(String s) {
return ApplicationHelper.getEncryptor().decrypt(s);
try {
return ApplicationHelper.getEncryptor().decrypt(s);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
};
}
......
package com.keymobile.metadata.metadataRelation;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class Swagger2Config {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.keymobile.metadata.metadataRelation"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("DATA MODEL RESTful APIs")
.description("Spring Boot Swagger2")
.termsOfServiceUrl("http://www.keymobile.com.cn/")
.contact("keymobile")
.version("1.0")
.build();
}
}
package com.keymobile.metadata.metadataRelation.config;
import feign.auth.BasicAuthRequestInterceptor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class FeignClientConfig {
@Value("${security.authUser}")
private String authUser;
@Value("${security.authPwd}")
private String authPwd;
@Bean
public BasicAuthRequestInterceptor getBasicAuthRequestInterceptor() {
return new BasicAuthRequestInterceptor(authUser, authPwd);
}
}
\ No newline at end of file
package com.keymobile.metadata.metadataRelation.config;
import com.mongodb.*;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.gridfs.GridFSBucket;
import com.mongodb.client.gridfs.GridFSBuckets;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.MongoDbFactory;
import org.springframework.data.mongodb.config.AbstractMongoConfiguration;
import org.springframework.data.mongodb.core.SimpleMongoDbFactory;
import org.springframework.data.mongodb.gridfs.GridFsTemplate;
import java.util.ArrayList;
import java.util.List;
@Configuration
public class MongoDBConfig extends AbstractMongoConfiguration {
@Value("${mongodb.uri}")
private String host;
@Value("${mongodb.database}")
private String database;
@Value("${mongodb.username}")
private String user;
@Value("${mongodb.password}")
private String pswd;
@Value("${mongodb.maxConnectionIdleTime}")
private Integer maxConnectionIdleTime = 60000;
@Override
protected String getDatabaseName() {
return database;
}
@Bean
@Override
public MongoDbFactory mongoDbFactory() {
return new SimpleMongoDbFactory(this.mongoClient(), this.getDatabaseName());
}
@Bean
public GridFsTemplate gridFsTemplate() throws Exception {
return new GridFsTemplate(mongoDbFactory(), mappingMongoConverter());
}
@Bean
public GridFSBucket getGridFSBuckets() {
MongoDatabase db = mongoDbFactory().getDb();
return GridFSBuckets.create(db);
}
@Override
public MongoClient mongoClient() {
if (host.split(",").length > 1) {
String[] serverArray = host.split(",");
List<ServerAddress> serverList = new ArrayList<>();
for (String ipPort : serverArray) {
String[] ipAndPort = ipPort.split(":");
serverList.add(new ServerAddress(ipAndPort[0].trim(), Integer.valueOf(ipAndPort[1])));
}
MongoClientOptions options = MongoClientOptions.builder()
.maxConnectionIdleTime(maxConnectionIdleTime)
.readPreference(ReadPreference.secondaryPreferred()).build();
MongoCredential credential = MongoCredential.createCredential(user, database, pswd.toCharArray());
return new MongoClient(serverList, credential, options);
} else {
String uri = String.format("mongodb://%s:%s@%s/%s", user, pswd, host, database);
MongoClientOptions.Builder builder = new MongoClientOptions.Builder();
builder.maxConnectionIdleTime(maxConnectionIdleTime);
MongoClientURI clientURI = new MongoClientURI(uri, builder);
return new MongoClient(clientURI);
}
}
}
package com.keymobile.metadata.metadataRelation.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.session.data.redis.config.ConfigureRedisAction;
@Configuration
class RedisSecurity {
@Bean
public static ConfigureRedisAction configureRedisAction() {
return ConfigureRedisAction.NO_OP;
}
}
package com.keymobile.metadata.metadataRelation.config;
import com.keymobile.auth.common.security.CustomizedUserDetailService;
import org.apache.commons.codec.digest.DigestUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.crypto.password.PasswordEncoder;
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
@ComponentScan("com.keymobile.auth.common.security")
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private CustomizedUserDetailService customUserDetailService;
@Value("${security.permit}")
private boolean permit = true;
@Autowired
public void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(customUserDetailService).passwordEncoder(new SHA1PasswordEncoder());
}
@Override
protected void configure(HttpSecurity http) throws Exception {
if (permit) {
http.httpBasic().and().authorizeRequests().anyRequest().permitAll();
} else {
http.httpBasic().and()
.authorizeRequests().antMatchers("/actuator/**").permitAll().and()
.authorizeRequests().anyRequest().authenticated();
}
http.csrf().disable();
}
class SHA1PasswordEncoder implements PasswordEncoder {
@Override
public String encode(CharSequence charSequence) {
return DigestUtils.sha1Hex(charSequence.toString());
}
@Override
public boolean matches(CharSequence charSequence, String s) {
return DigestUtils.sha1Hex(charSequence.toString()).equals(s);
}
}
}
spring:
session:
redis:
namespace: default
elasticsearch:
uris: http://es0:29200
data:
redis:
host: redis0
port: 6379
password: password0
mongodb:
host: mongo0
port: 27017
database: d0
username: user0
password: password0
neo4j:
uri: http://192.168.0.143:7474
url: bolt://192.168.0.143:7687
username: neo4j
password: yuanyao
datasource:
hikari:
maximum-pool-size: 5
url: jdbc:mysql://mysql0:3306/d0?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useSsl=false
username: user0
password: password0
rabbitmq:
host: mq0
port: 5672
username: user0
password: password0
virtual-host: v0
eureka:
client:
registryFetchIntervalSeconds: 5
region: default
serviceUrl:
defaultZone: http://e0:8081/eureka/
enabled: true
\ No newline at end of file
server:
port: 8289
spring:
main:
allow-bean-definition-overriding: true
allow-circular-references: true
application:
name: metadataRelation
profiles:
active: default
management:
metrics:
tags:
......@@ -7,4 +19,9 @@ management:
show-details: always
web:
exposure:
include: prometheus
\ No newline at end of file
include: prometheus
logging:
level:
root: info
config: classpath:logback-custom.xml
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment