From 6dc791c34f7e38df941a3d1826d953752aca819a Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期四, 22 四月 2021 15:42:00 +0800 Subject: [PATCH] !21 同步dev分支 Merge pull request !21 from 疯狂的狮子li/dev --- sql/ry_20210210.sql | 3 + ruoyi-admin/src/main/resources/logback.xml | 14 ++++ ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java | 16 ++++- ruoyi-ui/src/views/monitor/admin/index.vue | 26 ++++++++ pom.xml | 17 +++++ ruoyi-admin/src/main/resources/application.yml | 28 +++++++++ ruoyi-common/pom.xml | 9 +++ README.md | 1 ruoyi-admin/src/main/resources/application-dev.yml | 4 ruoyi-framework/src/main/java/com/ruoyi/framework/config/AdminServerConfig.java | 24 ++++++++ 10 files changed, 137 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 5610cdd..0624abe 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,7 @@ * swagger 淇敼涓� knife4j * 闆嗘垚 Hutool 5.X 骞堕噸鍐橰uoYi閮ㄥ垎鍔熻兘 * 闆嗘垚 Feign 鎺ュ彛鍖栫鐞� Http 璇锋眰(濡備笁鏂硅姹� 鏀粯,鐭俊,鎺ㄩ�佺瓑) +* 闆嗘垚 spring-boot-admin 鍏ㄦ柟浣嶇洃鎺� * 鍗囩骇MybatisPlus 3.4.2 * 澧炲姞demo妯″潡绀轰緥(缁欎笉浼氬鍔犳ā鍧楃殑灏忎紮浼村仛鍙傝��) * 鍚屾鍗囩骇 3.4.0 diff --git a/pom.xml b/pom.xml index ef756ab..c709651 100644 --- a/pom.xml +++ b/pom.xml @@ -31,6 +31,7 @@ <hutool.version>5.5.8</hutool.version> <feign.version>2.2.6.RELEASE</feign.version> <feign-okhttp.version>11.0</feign-okhttp.version> + <spring-boot-admin.version>2.3.1</spring-boot-admin.version> </properties> <!-- 渚濊禆澹版槑 --> @@ -147,6 +148,22 @@ <version>${feign-okhttp.version}</version> </dependency> + <dependency> + <groupId>de.codecentric</groupId> + <artifactId>spring-boot-admin-starter-server</artifactId> + <version>${spring-boot-admin.version}</version> + </dependency> + <dependency> + <groupId>de.codecentric</groupId> + <artifactId>spring-boot-admin-starter-client</artifactId> + <version>${spring-boot-admin.version}</version> + </dependency> + + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-actuator</artifactId> + </dependency> + <!-- 瀹氭椂浠诲姟--> <dependency> <groupId>com.ruoyi</groupId> diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index 6d476c9..65f8805 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -43,8 +43,8 @@ allow: url-pattern: /druid/* # 鎺у埗鍙扮鐞嗙敤鎴峰悕鍜屽瘑鐮� - login-username: - login-password: + login-username: ruoyi + login-password: 123456 filter: stat: enabled: true diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 3bc738d..4ed20c8 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -57,6 +57,7 @@ level: com.ruoyi: @logging.level@ org.springframework: warn + config: classpath:logback.xml # Spring閰嶇疆 spring: @@ -78,6 +79,33 @@ restart: # 鐑儴缃插紑鍏� enabled: true + application: + name: ruoyi-vue-plus + boot: + admin: + # Spring Boot Admin Client 瀹㈡埛绔殑鐩稿叧閰嶇疆 + client: + # 璁剧疆 Spring Boot Admin Server 鍦板潃 + url: http://localhost:${server.port}${spring.boot.admin.context-path} + instance: + prefer-ip: true # 娉ㄥ唽瀹炰緥鏃讹紝浼樺厛浣跨敤 IP +# username: ruoyi +# password: 123456 + # Spring Boot Admin Server 鏈嶅姟绔殑鐩稿叧閰嶇疆 + context-path: /admin # 閰嶇疆 Spring + +# Actuator 鐩戞帶绔偣鐨勯厤缃」 +management: + endpoints: + web: + # Actuator 鎻愪緵鐨� API 鎺ュ彛鐨勬牴鐩綍銆傞粯璁や负 /actuator + base-path: /actuator + exposure: + # 闇�瑕佸紑鏀剧殑绔偣銆傞粯璁ゅ�煎彧鎵撳紑 health 鍜� info 涓や釜绔偣銆傞�氳繃璁剧疆 * 锛屽彲浠ュ紑鏀炬墍鏈夌鐐广�� + include: '*' + endpoint: + logfile: + external-file: ./logs/sys-console.log # token閰嶇疆 token: diff --git a/ruoyi-admin/src/main/resources/logback.xml b/ruoyi-admin/src/main/resources/logback.xml index f27bff9..d407df4 100644 --- a/ruoyi-admin/src/main/resources/logback.xml +++ b/ruoyi-admin/src/main/resources/logback.xml @@ -12,6 +12,19 @@ <charset>utf-8</charset> </encoder> </appender> + + <!-- 鎺у埗鍙拌緭鍑� --> + <appender name="file_console" class="ch.qos.logback.core.FileAppender"> + <file>${log.path}/sys-console.log</file> + <encoder> + <pattern>${log.pattern}</pattern> + <charset>utf-8</charset> + </encoder> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <!-- 杩囨护鐨勭骇鍒� --> + <level>INFO</level> + </filter> + </appender> <!-- 绯荤粺鏃ュ織杈撳嚭 --> <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"> @@ -85,6 +98,7 @@ <root level="info"> <appender-ref ref="file_info" /> <appender-ref ref="file_error" /> + <appender-ref ref="file_console" /> </root> <!--绯荤粺鐢ㄦ埛鎿嶄綔鏃ュ織--> diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml index 2b04147..62de11a 100644 --- a/ruoyi-common/pom.xml +++ b/ruoyi-common/pom.xml @@ -128,6 +128,15 @@ <artifactId>feign-okhttp</artifactId> </dependency> + <dependency> + <groupId>de.codecentric</groupId> + <artifactId>spring-boot-admin-starter-server</artifactId> + </dependency> + <dependency> + <groupId>de.codecentric</groupId> + <artifactId>spring-boot-admin-starter-client</artifactId> + </dependency> + </dependencies> </project> \ No newline at end of file diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/AdminServerConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/AdminServerConfig.java new file mode 100644 index 0000000..49b5411 --- /dev/null +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/AdminServerConfig.java @@ -0,0 +1,24 @@ +package com.ruoyi.framework.config; + +import de.codecentric.boot.admin.server.config.EnableAdminServer; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration; +import org.springframework.boot.task.TaskExecutorBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Lazy; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +import java.util.concurrent.Executor; + +@Configuration +@EnableAdminServer +public class AdminServerConfig { + + @Lazy + @Bean(name = TaskExecutionAutoConfiguration.APPLICATION_TASK_EXECUTOR_BEAN_NAME) + @ConditionalOnMissingBean(Executor.class) + public ThreadPoolTaskExecutor applicationTaskExecutor(TaskExecutorBuilder builder) { + return builder.build(); + } +} diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java index 385439e..4822c91 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java @@ -1,5 +1,9 @@ package com.ruoyi.framework.config; +import com.ruoyi.framework.security.filter.JwtAuthenticationTokenFilter; +import com.ruoyi.framework.security.handle.AuthenticationEntryPointImpl; +import com.ruoyi.framework.security.handle.LogoutSuccessHandlerImpl; +import de.codecentric.boot.admin.server.config.AdminServerProperties; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.http.HttpMethod; @@ -14,9 +18,6 @@ import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import org.springframework.security.web.authentication.logout.LogoutFilter; import org.springframework.web.filter.CorsFilter; -import com.ruoyi.framework.security.filter.JwtAuthenticationTokenFilter; -import com.ruoyi.framework.security.handle.AuthenticationEntryPointImpl; -import com.ruoyi.framework.security.handle.LogoutSuccessHandlerImpl; /** * spring security閰嶇疆 @@ -55,6 +56,9 @@ */ @Autowired private CorsFilter corsFilter; + + @Autowired + private AdminServerProperties adminServerProperties; /** * 瑙e喅 鏃犳硶鐩存帴娉ㄥ叆 AuthenticationManager @@ -113,6 +117,12 @@ .antMatchers("/webjars/**").anonymous() .antMatchers("/*/api-docs").anonymous() .antMatchers("/druid/**").anonymous() + // Spring Boot Admin Server 鐨勫畨鍏ㄩ厤缃� + .antMatchers(adminServerProperties.getContextPath()).anonymous() + .antMatchers(adminServerProperties.getContextPath() + "/**").anonymous() + // Spring Boot Actuator 鐨勫畨鍏ㄩ厤缃� + .antMatchers("/actuator").anonymous() + .antMatchers("/actuator/**").anonymous() // 闄や笂闈㈠鐨勬墍鏈夎姹傚叏閮ㄩ渶瑕侀壌鏉冭璇� .anyRequest().authenticated() .and() diff --git a/ruoyi-ui/src/views/monitor/admin/index.vue b/ruoyi-ui/src/views/monitor/admin/index.vue new file mode 100644 index 0000000..f1d48b0 --- /dev/null +++ b/ruoyi-ui/src/views/monitor/admin/index.vue @@ -0,0 +1,26 @@ +<template> + <div v-loading="loading" :style="'height:'+ height"> + <iframe :src="src" frameborder="no" style="width: 100%;height: 100%" scrolling="auto" /> + </div> +</template> +<script> +export default { + name: "Admin", + data() { + return { + src: process.env.VUE_APP_BASE_API + "/admin", + height: document.documentElement.clientHeight - 94.5 + "px;", + loading: true + }; + }, + mounted: function() { + setTimeout(() => { + this.loading = false; + }, 230); + const that = this; + window.onresize = function temp() { + that.height = document.documentElement.clientHeight - 94.5 + "px;"; + }; + } +}; +</script> diff --git a/sql/ry_20210210.sql b/sql/ry_20210210.sql index a6b882d..8b721ab 100644 --- a/sql/ry_20210210.sql +++ b/sql/ry_20210210.sql @@ -178,6 +178,9 @@ insert into sys_menu values('114', '琛ㄥ崟鏋勫缓', '3', '1', 'build', 'tool/build/index', 1, 0, 'C', '0', '0', 'tool:build:list', 'build', 'admin', sysdate(), '', null, '琛ㄥ崟鏋勫缓鑿滃崟'); insert into sys_menu values('115', '浠g爜鐢熸垚', '3', '2', 'gen', 'tool/gen/index', 1, 0, 'C', '0', '0', 'tool:gen:list', 'code', 'admin', sysdate(), '', null, '浠g爜鐢熸垚鑿滃崟'); insert into sys_menu values('116', '绯荤粺鎺ュ彛', '3', '3', 'swagger', 'tool/swagger/index', 1, 0, 'C', '0', '0', 'tool:swagger:list', 'swagger', 'admin', sysdate(), '', null, '绯荤粺鎺ュ彛鑿滃崟'); +-- springboot-admin鐩戞帶 +insert into sys_menu values('117', 'Admin鐩戞帶', '2', '5', 'Admin', 'monitor/admin/index', 1, 0, 'C', '0', '0', 'monitor:admin:list', 'dashboard', 'admin', sysdate(), '', null, 'Admin鐩戞帶鑿滃崟'); + -- 涓夌骇鑿滃崟 insert into sys_menu values('500', '鎿嶄綔鏃ュ織', '108', '1', 'operlog', 'monitor/operlog/index', 1, 0, 'C', '0', '0', 'monitor:operlog:list', 'form', 'admin', sysdate(), '', null, '鎿嶄綔鏃ュ織鑿滃崟'); insert into sys_menu values('501', '鐧诲綍鏃ュ織', '108', '2', 'logininfor', 'monitor/logininfor/index', 1, 0, 'C', '0', '0', 'monitor:logininfor:list', 'logininfor', 'admin', sysdate(), '', null, '鐧诲綍鏃ュ織鑿滃崟'); -- Gitblit v1.9.3