diff --git a/zteits-project-admin/pom.xml b/zteits-project-admin/pom.xml
new file mode 100644
index 0000000..9d669d6
--- /dev/null
+++ b/zteits-project-admin/pom.xml
@@ -0,0 +1,107 @@
+
+
+ 4.0.0
+
+ com.zteits.admin
+ zteits-project-admin
+ 2.0.1-SNAPSHOT
+ jar
+
+ zteits-admin
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.0.5.RELEASE
+
+
+
+
+
+ de.codecentric
+ spring-boot-admin-starter-server
+ 2.0.3
+
+
+ org.springframework.boot
+ spring-boot-starter-security
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-mail
+
+
+
+ org.springframework.session
+ spring-session-core
+
+
+ org.springframework.boot
+ spring-boot-starter-thymeleaf
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ true
+
+
+
+
+ compile
+ zteits-project-admin
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+ com.zteits.admin.SpringBootAdminApplication
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 1.8
+ 1.8
+
+
+
+
+
+
+
+ nexus_releases
+ core Release Repository
+ http://192.168.1.195:9999/nexus/content/repositories/releases/
+
+
+ nexus_snapshots
+ core Snapshots Repository
+ http://192.168.1.195:9999/nexus/content/repositories/snapshots/
+
+
+
+
+
diff --git a/zteits-project-admin/src/main/java/com/zteits/admin/SpringBootAdminApplication.java b/zteits-project-admin/src/main/java/com/zteits/admin/SpringBootAdminApplication.java
new file mode 100644
index 0000000..1ae3bb3
--- /dev/null
+++ b/zteits-project-admin/src/main/java/com/zteits/admin/SpringBootAdminApplication.java
@@ -0,0 +1,19 @@
+package com.zteits.admin;
+
+import de.codecentric.boot.admin.server.config.EnableAdminServer;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
+
+@Configuration
+@EnableAutoConfiguration
+@EnableAdminServer
+@ComponentScan(basePackages={"com.zteits.admin"})
+public class SpringBootAdminApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(SpringBootAdminApplication.class, args);
+ }
+}
\ No newline at end of file
diff --git a/zteits-project-admin/src/main/java/com/zteits/admin/config/SecuritySecureConfig.java b/zteits-project-admin/src/main/java/com/zteits/admin/config/SecuritySecureConfig.java
new file mode 100644
index 0000000..eb813f2
--- /dev/null
+++ b/zteits-project-admin/src/main/java/com/zteits/admin/config/SecuritySecureConfig.java
@@ -0,0 +1,42 @@
+package com.zteits.admin.config;
+
+import de.codecentric.boot.admin.server.config.AdminServerProperties;
+import org.springframework.context.annotation.Configuration;
+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.web.authentication.SavedRequestAwareAuthenticationSuccessHandler;
+import org.springframework.security.web.csrf.CookieCsrfTokenRepository;
+
+@Configuration
+@EnableWebSecurity
+public class SecuritySecureConfig extends WebSecurityConfigurerAdapter {
+ private final String adminContextPath;
+
+ public SecuritySecureConfig(AdminServerProperties adminServerProperties) {
+ this.adminContextPath = adminServerProperties.getContextPath();
+ }
+
+ @Override
+ protected void configure(HttpSecurity http) throws Exception {
+ SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
+ successHandler.setTargetUrlParameter("redirectTo");
+ successHandler.setDefaultTargetUrl(adminContextPath + "/");
+
+ http.authorizeRequests()
+ .antMatchers(adminContextPath + "/assets/**").permitAll()
+ .antMatchers(adminContextPath + "/login").permitAll()
+ .anyRequest().authenticated()
+ .and()
+ .formLogin().loginPage(adminContextPath + "/login").successHandler(successHandler).and()
+ .logout().logoutUrl(adminContextPath + "/logout").and()
+ .httpBasic().and()
+ .csrf()
+ .csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
+ .ignoringAntMatchers(
+ adminContextPath + "/instances",
+ adminContextPath + "/actuator/**"
+ );
+ // @formatter:on
+ }
+}
\ No newline at end of file
diff --git a/zteits-project-admin/src/main/resources/application.yml b/zteits-project-admin/src/main/resources/application.yml
new file mode 100644
index 0000000..1db114c
--- /dev/null
+++ b/zteits-project-admin/src/main/resources/application.yml
@@ -0,0 +1,13 @@
+spring:
+ boot:
+ admin:
+ ui:
+ brand:
ZTEITS-CLOUDS-ADMIN
+ title: ZTEITS-CLOUDS-ADMIN
+ security:
+ user:
+ name: zteits-admin
+ password: ZTE1zte1
+logging:
+ level:
+ root: info
diff --git a/zteits-project-admin/zteits-project-admin.iml b/zteits-project-admin/zteits-project-admin.iml
new file mode 100644
index 0000000..c1b6272
--- /dev/null
+++ b/zteits-project-admin/zteits-project-admin.iml
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file