提交 ec0518f7 编写于 作者: M MaxKey

v 2.9.0 & maxkey-boot-monitor

v 2.9.0 & maxkey-boot-monitor
上级 68dcbce7
......@@ -30,7 +30,7 @@ import javax.persistence.Table;
/*
ID varchar(40) not null,
APPROLEID varchar(40) null,
UID varchar(40) null
USERID varchar(40) null
constraint PK_ROLES primary key clustered (ID)
*/
@Entity
......
description = "maxkey-boot-monitor"
//add support for Java
apply plugin: 'java'
dependencies {
implementation project(":maxkey-common")
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-thymeleaf', version: "${springBootVersion}"
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-security', version: "${springBootVersion}"
implementation group: 'org.springframework.security', name: 'spring-security-config', version: '5.5.1'
implementation group: 'de.codecentric', name: 'spring-boot-admin-server', version: "${springbootadminVersion}"
implementation group: 'de.codecentric', name: 'spring-boot-admin-server-ui', version: "${springbootadminVersion}"
implementation group: 'de.codecentric', name: 'spring-boot-admin-starter-server', version: "${springbootadminVersion}"
implementation group: 'org.thymeleaf', name: 'thymeleaf', version: "${thymeleafVersion}"
implementation group: 'org.thymeleaf', name: 'thymeleaf-spring5', version: "${thymeleafVersion}"
implementation group: 'io.projectreactor.netty', name: 'reactor-netty', version: "${reactornettyVersion}"
implementation group: 'io.projectreactor.netty', name: 'reactor-netty-http', version: "${reactornettyVersion}"
implementation group: 'io.projectreactor.netty', name: 'reactor-netty-core', version: "${reactornettyVersion}"
implementation group: 'io.projectreactor.addons', name: 'reactor-extra', version: "${reactorextraVersion}"
implementation group: 'io.netty', name: 'netty-all', version: "${nettyVersion}"
implementation group: 'com.hazelcast', name: 'hazelcast', version: "${hazelcastVersion}"
implementation group: 'jakarta.annotation', name: 'jakarta.annotation-api', version: "${jakartaannotationVersion}"
implementation group: 'org.attoparser', name: 'attoparser', version: "${attoparserVersion}"
implementation group: 'org.unbescape', name: 'unbescape', version: "${unbescapeVersion}"
}
\ No newline at end of file
maxkey monitor service
spring-boot-admin-server
version 2.5.0
Admin UI for administration of spring boot applications
https://github.com/codecentric/spring-boot-admin
Apache-2.0 License
package org.maxkey.boot.monitor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.annotation.Configuration;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;
import de.codecentric.boot.admin.server.config.EnableAdminServer;
@Configuration
@EnableAdminServer
@SpringBootApplication(
exclude={
RedisAutoConfiguration.class,
DruidDataSourceAutoConfigure.class,
DataSourceAutoConfiguration.class
})
public class MaxKeyBootMonitor {
private static final Logger _logger = LoggerFactory.getLogger(MaxKeyBootMonitor.class);
public static void main(String[] args) {
_logger.info("Start MaxKeyBootMonitor ...");
SpringApplication.run(MaxKeyBootMonitor.class, args);
}
}
package org.maxkey.boot.monitor;
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 MonitorSecurityConfigurer extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
// 登录成功处理类
SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
successHandler.setTargetUrlParameter("redirectTo");
successHandler.setDefaultTargetUrl("/");
http.authorizeRequests()
//无需认证
.antMatchers(
"/login", //登录页面
"/assets/**", //静态文件允许访问
"/actuator/**", //springboot-admin监控的请求
"/instances/**" //springboot-admin监控的实例信息请求
).permitAll()
//其他所有请求需要登录
.anyRequest().authenticated()
//登录
.and().formLogin().loginPage("/login").successHandler(successHandler)
//登出
.and().logout().logoutUrl("/logout").logoutSuccessUrl("/login")
.and().httpBasic()
.and().csrf()
.csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
.ignoringAntMatchers(
"/instances",
"/actuator/**"
);
}
}
############################################################################
# Copyright [2021] [MaxKey of copyright http://www.maxkey.top]
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
############################################################################
#MaxKey Title and Version #
############################################################################
application.title=MaxKey
spring.application.name=maxkey-boot-admin-server
application.formatted-version=v2.9.0 GA
server.port=9528
spring.security.user.name=monitor
spring.security.user.password=maxkey
spring.security.basic.enabled=false
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO" monitorInterval="300">
<Appenders>
<Console name="consolePrint" target="SYSTEM_OUT">
<PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss,SSS} %-5level [%t] %logger{36}:%L - %msg%n" />
</Console>
<!-- 输出到文件,按天或者超过128MB分割 每天进行归档yyyy-MM-dd -->
<RollingFile name="RollingFile" fileName="logs/maxkey-boot-admin.log" filePattern="logs/$${date:yyyyMMdd}/maxkey-boot-admin-%d{yyyy-MM-dd}-%i.log.gz">
<!-- 需要记录的级别 -->
<!-- <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY" /> -->
<PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss,SSS} %-5level [%t] %logger{36}:%L - %msg%n" />
<Policies>
<OnStartupTriggeringPolicy />
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="128 MB" />
</Policies>
<DefaultRolloverStrategy max="100"/>
</RollingFile>
</Appenders>
<Loggers>
<Logger level="INFO" name="org.springframework" ></Logger>
<Logger level="INFO" name="org.apache.logging" ></Logger>
<Logger level="DEBUG" name="org.maxkey" ></Logger>
<Root level="INFO">
<AppenderRef ref="consolePrint" />
<AppenderRef ref="RollingFile" />
</Root >
</Loggers>
</Configuration>
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册