diff --git a/pom.xml b/pom.xml
index 3cd74ed87e76183b027ce6f7aa935e0d6a1c671e..8e49cd5cfeb1d457a54f590b393372bb4b60cd59 100644
--- a/pom.xml
+++ b/pom.xml
@@ -185,6 +185,18 @@
itextpdf
5.5.13
+
+
+
+ de.codecentric
+ spring-boot-admin-server-cloud
+ ${de.codecentric.version}
+
+
+ de.codecentric
+ spring-boot-admin-server-ui
+ ${de.codecentric.version}
+
@@ -259,6 +271,8 @@
roncoo-education-server-eureka
roncoo-education-server-config
+
+ roncoo-education-server-admin
roncoo-education-util
diff --git a/roncoo-education-server-admin/pom.xml b/roncoo-education-server-admin/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b48c7320fe67c1fd36ec5ebbdaa772407a7c386a
--- /dev/null
+++ b/roncoo-education-server-admin/pom.xml
@@ -0,0 +1,77 @@
+
+ 4.0.0
+
+ com.roncoo
+ roncoo-education
+ 1.0-SNAPSHOT
+
+
+ roncoo-education-server-admin
+
+
+
+
+
+ de.codecentric
+ spring-boot-admin-server-cloud
+
+
+ de.codecentric
+ spring-boot-admin-server-ui
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-netflix-eureka-client
+
+
+ org.springframework.cloud
+ spring-cloud-starter-config
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-security
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+
+
+
+ org.jolokia
+ jolokia-core
+
+
+
+
+ server-admin
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+ true
+
+
+
+
+
\ No newline at end of file
diff --git a/roncoo-education-server-admin/src/main/java/com/roncoo/education/server/admin/ServerAdminApplication.java b/roncoo-education-server-admin/src/main/java/com/roncoo/education/server/admin/ServerAdminApplication.java
new file mode 100644
index 0000000000000000000000000000000000000000..2af9d1e2037f762404441bebac5a4f0d95375f14
--- /dev/null
+++ b/roncoo-education-server-admin/src/main/java/com/roncoo/education/server/admin/ServerAdminApplication.java
@@ -0,0 +1,21 @@
+/**
+ * Copyright 2015-现在 广州市领课网络科技有限公司
+ */
+package com.roncoo.education.server.admin;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+
+import de.codecentric.boot.admin.server.config.EnableAdminServer;
+
+@EnableAdminServer
+@EnableDiscoveryClient
+@SpringBootApplication
+public class ServerAdminApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(ServerAdminApplication.class, args);
+ }
+
+}
diff --git a/roncoo-education-server-admin/src/main/java/com/roncoo/education/server/admin/config/SecuritySecureConfig.java b/roncoo-education-server-admin/src/main/java/com/roncoo/education/server/admin/config/SecuritySecureConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..a2ba7f2a196736842a0fc4134db9fadefda55eeb
--- /dev/null
+++ b/roncoo-education-server-admin/src/main/java/com/roncoo/education/server/admin/config/SecuritySecureConfig.java
@@ -0,0 +1,29 @@
+package com.roncoo.education.server.admin.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
+import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler;
+import org.springframework.security.web.csrf.CookieCsrfTokenRepository;
+
+import de.codecentric.boot.admin.server.config.AdminServerProperties;
+
+@Configuration
+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 {
+ // @formatter:off
+ 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/roncoo-education-server-admin/src/main/resources/bootstrap.properties b/roncoo-education-server-admin/src/main/resources/bootstrap.properties
new file mode 100644
index 0000000000000000000000000000000000000000..bdc4943aa0e0eeaab5ef5094cc40d1236584377c
--- /dev/null
+++ b/roncoo-education-server-admin/src/main/resources/bootstrap.properties
@@ -0,0 +1,29 @@
+# security
+spring.security.user.name=roncoo
+spring.security.user.password=123456
+
+# info
+info.eureka.host01=192.168.1.181
+info.eureka.host02=192.168.1.181
+info.eureka.port01=5761
+info.eureka.port02=5762
+
+# profile
+spring.profiles.active=test
+
+# eureka
+eureka.client.serviceUrl.defaultZone=http://${spring.security.user.name}:${spring.security.user.password}@${info.eureka.host01}:${info.eureka.port01}/eureka/,http://${spring.security.user.name}:${spring.security.user.password}@${info.eureka.host02}:${info.eureka.port02}/eureka/
+eureka.instance.metadata-map.user.name=${spring.security.user.name}
+eureka.instance.metadata-map.user.password=${spring.security.user.password}
+
+# server
+server.port=5721
+
+# application
+spring.application.name=roncoo-education-server-admin
+
+# spring cloud config client
+spring.cloud.config.profile=${spring.profiles.active}
+spring.cloud.config.label=master
+spring.cloud.config.discovery.enabled=true
+spring.cloud.config.discovery.service-id=roncoo-education-server-config
diff --git a/roncoo-education-server-admin/src/main/resources/logback-roncoo.xml b/roncoo-education-server-admin/src/main/resources/logback-roncoo.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ed831f8f73e2774b3e08a1a25296b62aa01cf096
--- /dev/null
+++ b/roncoo-education-server-admin/src/main/resources/logback-roncoo.xml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${PATTERN}
+
+
+
+
+
+
+
+
+
+
+
+
+ ${PATTERN}
+
+
+
+
+
+ ${FILE_PATH}/info
+
+
+ ${FILE_PATH}/info.%d{yyyy-MM-dd}.log
+
+ 100
+
+
+
+ ${PATTERN}
+
+
+
+
+
+
+
+
+
+
+
+
+ ${FILE_PATH}/warn
+
+ ${FILE_PATH}/warn.%d{yyyy-MM-dd}.log
+
+ 100
+
+
+ ${PATTERN}
+
+
+
+
+
+
+
+