From 885dd27e6e9b851ef14de6e497f3cad7f7ae1881 Mon Sep 17 00:00:00 2001 From: "Crystal.Sea" Date: Tue, 31 Aug 2021 16:01:02 +0800 Subject: [PATCH] springcloud &springcloud alibaba & nacos support springcloud &springcloud alibaba & nacos support --- build.gradle | 31 ++++++++-- gradle.properties | 5 +- .../AuthenticationAutoConfiguration.java | 57 ------------------- .../JwtAuthnAutoConfiguration.java | 3 - .../SocialSignOnAutoConfiguration.java | 33 ++++++----- .../ApplicationAutoConfiguration.java | 5 +- .../autoconfigure/MvcAutoConfiguration.java | 7 +-- .../autoconfigure/RedisAutoConfiguration.java | 3 - .../SessionRedisAutoConfiguration.java | 3 - .../configuration/ApplicationConfig.java | 49 ++++++++-------- .../CharacterEncodingConfig.java | 3 - .../org/maxkey/configuration/EmailConfig.java | 3 - .../org/maxkey/configuration/LoginConfig.java | 3 - .../maxkey/constants/ConstantsProperties.java | 11 +--- .../org/maxkey/web/InitializeContext.java | 30 +++++----- .../main/java/org/maxkey/web/WebContext.java | 4 +- .../SynchronizerAutoConfiguration.java | 3 - .../autoconfigure/CasAutoConfiguration.java | 3 - .../Oauth20AutoConfiguration.java | 3 - .../Saml20AutoConfiguration.java | 3 - .../boot/monitor/MaxKeyBootMonitor.java | 2 + .../monitor/MonitorSecurityConfigurer.java | 18 +++--- .../src/main/resources/application.properties | 7 ++- .../src/main/resources/bootstrap.properties | 12 ++++ .../src/main/resources/log4j2.xml | 1 + ...pplication-classpath-arg-1630159225769.txt | 1 + .../java/org/maxkey/MaxKeyApplication.java | 2 + .../main/java/org/maxkey/MaxKeyConfig.java | 5 +- .../main/java/org/maxkey/MaxKeyMvcConfig.java | 3 - .../resources/application-http.properties | 40 +++++++------ .../resources/application-https.properties | 8 ++- .../src/main/resources/application.properties | 8 ++- .../src/main/resources/bootstrap.properties | 12 ++++ .../src/main/resources/log4j2.xml | 1 + .../java/org/maxkey/MaxKeyMgtApplication.java | 2 + .../main/java/org/maxkey/MaxKeyMgtConfig.java | 3 - .../contorller/SAML20DetailsController.java | 2 +- .../resources/application-http.properties | 40 +++++++------ .../src/main/resources/application.properties | 8 ++- .../src/main/resources/bootstrap.properties | 12 ++++ .../src/main/resources/log4j2.xml | 1 + .../templates/views/apps/saml20/appUpdate.ftl | 2 +- 42 files changed, 224 insertions(+), 228 deletions(-) create mode 100644 maxkey-webs/maxkey-boot-monitor/src/main/resources/bootstrap.properties create mode 100644 maxkey-webs/maxkey-web-maxkey/.temp-MaxKeyApplication-classpath-arg-1630159225769.txt create mode 100644 maxkey-webs/maxkey-web-maxkey/src/main/resources/bootstrap.properties create mode 100644 maxkey-webs/maxkey-web-mgt/src/main/resources/bootstrap.properties diff --git a/build.gradle b/build.gradle index ce173f8c2..986b054ea 100644 --- a/build.gradle +++ b/build.gradle @@ -46,16 +46,16 @@ allprojects { sourceCompatibility = 1.8 targetCompatibility = 1.8 compileJava.options.encoding = 'UTF-8' - /* + eclipse { - 第一次时请注释这段eclipse设置,可能报错,设置工程字符集 + /* 第一次时请注释这段eclipse设置,可能报错,设置工程字符集 jdt { File f = file('.settings/org.eclipse.core.resources.prefs') f.write('eclipse.preferences.version=1\n') f.append('encoding/=UTF-8') //use UTF-8 - } + }*/ } - */ + } @@ -149,11 +149,13 @@ subprojects { implementation group: 'commons-httpclient', name: 'commons-httpclient', version: "${commonshttpclientVersion}" implementation group: 'commons-fileupload', name: 'commons-fileupload', version: "${commonsfileuploadVersion}" implementation group: 'org.apache.commons', name: 'commons-email', version: "${commonsemailVersion}" + implementation group: 'org.apache.httpcomponents', name: 'httpasyncclient', version: "${httpasyncclientVersion}" implementation group: 'org.apache.httpcomponents', name: 'httpclient', version: "${httpcomponentsVersion}" implementation group: 'org.apache.httpcomponents', name: 'fluent-hc', version: "${httpcomponentsVersion}" implementation group: 'org.apache.httpcomponents', name: 'httpclient-cache', version: "${httpcomponentsVersion}" implementation group: 'org.apache.httpcomponents', name: 'httpmime', version: "${httpcomponentsVersion}" implementation group: 'org.apache.httpcomponents', name: 'httpcore', version: "${httpcoreVersion}" + implementation group: 'org.apache.httpcomponents', name: 'httpcore-nio', version: "${httpcoreVersion}" implementation group: 'org.apache.velocity', name: 'velocity', version: "${velocityVersion}" implementation group: 'velocity', name: 'velocity-dep', version: "${velocitydepVersion}" implementation group: 'org.freemarker', name: 'freemarker', version: "${freemarkerVersion}" @@ -233,9 +235,11 @@ subprojects { implementation group: 'org.springframework.boot', name: 'spring-boot-starter-reactor-netty', version: "${springBootVersion}" implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis', version: "${springBootVersion}" implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis-reactive', version: "${springBootVersion}" + implementation group: 'org.springframework.boot', name: 'spring-boot-starter-validation', version: "${springBootVersion}" + testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: "${springBootVersion}" //spring-boot-admin - implementation group: 'de.codecentric', name: 'spring-boot-admin-client', version: '2.5.0' + implementation group: 'de.codecentric', name: 'spring-boot-admin-client', version: "${springbootadminVersion}" implementation group: 'de.codecentric', name: 'spring-boot-admin-starter-client', version: "${springbootadminVersion}" //spring-data implementation group: 'org.springframework.data', name: 'spring-data-commons', version: "${springDataVersion}" @@ -247,6 +251,19 @@ subprojects { implementation group: 'org.springframework.plugin', name: 'spring-plugin-core', version: "${springplugincoreVersion}" implementation group: 'org.springframework.plugin', name: 'spring-plugin-metadata', version: "${springpluginmetadataVersion}" + //spring cloud + implementation group: 'org.springframework.cloud', name: 'spring-cloud-commons', version: "${springcloudVersion}" + implementation group: 'org.springframework.cloud', name: 'spring-cloud-context', version: "${springcloudVersion}" + implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter', version: "${springcloudVersion}" + implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter-bootstrap', version: "${springcloudVersion}" + //spring-cloud-alibaba + implementation group: 'com.alibaba.spring', name: 'spring-context-support', version: "${springcloudalibabaspringVersion}" + implementation group: 'com.alibaba.cloud', name: 'spring-cloud-alibaba-commons', version: "${springcloudalibabaVersion}" + //alibaba nacos + implementation group: 'com.alibaba.nacos', name: 'nacos-client', version: "${alibabanacosclientVersion}" + implementation group: 'com.alibaba.cloud', name: 'spring-cloud-starter-alibaba-nacos-discovery', version: "${springcloudalibabaVersion}" + implementation group: 'com.alibaba.cloud', name: 'spring-cloud-starter-alibaba-nacos-config', version: "${springcloudalibabaVersion}" + //saml implementation group: 'org.opensaml', name: 'opensaml', version: "${opensamlVersion}" implementation group: 'org.opensaml', name: 'openws', version: "${openwsVersion}" @@ -267,6 +284,7 @@ subprojects { // https://mvnrepository.com/artifact/org.eclipse.persistence/javax.persistence // for mybatis-jpa-extra implementation group: 'org.eclipse.persistence', name: 'javax.persistence', version: "${javaxpersistenceVersion}" + implementation group: 'jakarta.persistence', name: 'jakarta.persistence-api', version: '3.0.0' implementation group: 'jakarta.annotation', name: 'jakarta.annotation-api', version: "${jakartaannotationVersion}" implementation group: 'jakarta.validation', name: 'jakarta.validation-api', version: "${jakartavalidationapiVersion}" implementation group: 'javax.activation', name: 'activation', version: "${activationVersion}" @@ -334,6 +352,9 @@ subprojects { implementation group: 'io.micrometer', name: 'micrometer-core', version: "${micrometercoreVersion}" implementation group: 'org.latencyutils', name: 'LatencyUtils', version: "${LatencyUtilsVersion}" implementation group: 'org.codehaus.woodstox', name: 'stax2-api', version: "${stax2apiVersion}" + implementation group: 'org.reflections', name: 'reflections', version: '0.9.11' + implementation group: 'io.prometheus', name: 'simpleclient', version: '0.5.0' + //阿里云 implementation group: 'com.aliyun', name: 'aliyun-java-sdk-core', version: "${aliyunjavasdkcoreVersion}" //腾讯云 diff --git a/gradle.properties b/gradle.properties index 2e24a4249..caedf9f84 100644 --- a/gradle.properties +++ b/gradle.properties @@ -25,6 +25,7 @@ commonsfileuploadVersion =1.4 commonsemailVersion =1.5 httpcomponentsVersion =4.5.13 httpcoreVersion =4.4.14 +httpasyncclientVersion =4.1.4 velocityVersion =1.7 velocitydepVersion =1.4 freemarkerVersion =2.3.31 @@ -48,7 +49,9 @@ springpluginmetadataVersion =2.0.0.RELEASE springfoxVersion =3.0.0 springcloudVersion =3.0.3 springcloudalibabaVersion =2021.1 +springcloudalibabaspringVersion =1.0.11 springcloudalibabacsplVersion =1.8.2 +alibabanacosclientVersion =2.0.3 #google jibGradlePluginVersion =2.7.1 kaptchaVersion =2.3.2 @@ -59,7 +62,7 @@ zxingcoreVersion =3.4.1 concurrentlinkedhashmaplruVersion =1.4.2 #jboss jbossloggingVersion =3.4.2.Final -hibernateVersion =7.0.1.Final +hibernateVersion =6.2.0.Final #doc swaggerVersion =1.6.2 swaggerV3Version =2.1.10 diff --git a/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/autoconfigure/AuthenticationAutoConfiguration.java b/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/autoconfigure/AuthenticationAutoConfiguration.java index 8825145ba..60987b685 100644 --- a/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/autoconfigure/AuthenticationAutoConfiguration.java +++ b/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/autoconfigure/AuthenticationAutoConfiguration.java @@ -17,9 +17,6 @@ package org.maxkey.autoconfigure; -import java.util.HashMap; -import java.util.Map; -import javax.sql.DataSource; import org.maxkey.authn.AbstractAuthenticationProvider; import org.maxkey.authn.RealmAuthenticationProvider; import org.maxkey.authn.SavedRequestAwareAuthenticationSuccessHandler; @@ -29,13 +26,6 @@ import org.maxkey.authn.realm.AbstractAuthenticationRealm; import org.maxkey.authn.support.rememberme.AbstractRemeberMeService; import org.maxkey.authn.support.rememberme.RemeberMeServiceFactory; import org.maxkey.configuration.ApplicationConfig; -import org.maxkey.constants.ConstantsProperties; -import org.maxkey.crypto.password.LdapShaPasswordEncoder; -import org.maxkey.crypto.password.Md4PasswordEncoder; -import org.maxkey.crypto.password.NoOpPasswordEncoder; -import org.maxkey.crypto.password.MessageDigestPasswordEncoder; -import org.maxkey.crypto.password.SM3PasswordEncoder; -import org.maxkey.crypto.password.StandardPasswordEncoder; import org.maxkey.password.onetimepwd.AbstractOtpAuthn; import org.maxkey.persistence.db.PasswordPolicyValidator; import org.maxkey.persistence.redis.RedisConnectionFactory; @@ -46,20 +36,12 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.context.MessageSource; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.PropertySource; import org.springframework.jdbc.core.JdbcTemplate; -import org.springframework.jdbc.datasource.DataSourceTransactionManager; -import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; -import org.springframework.security.crypto.password.DelegatingPasswordEncoder; -import org.springframework.security.crypto.password.PasswordEncoder; -import org.springframework.security.crypto.password.Pbkdf2PasswordEncoder; -import org.springframework.security.crypto.scrypt.SCryptPasswordEncoder; import org.maxkey.persistence.db.LoginService; import org.maxkey.persistence.db.LoginHistoryService; @Configuration -@PropertySource(ConstantsProperties.applicationPropertySource) public class AuthenticationAutoConfiguration implements InitializingBean { private static final Logger _logger = LoggerFactory.getLogger(AuthenticationAutoConfiguration.class); @@ -93,11 +75,6 @@ public class AuthenticationAutoConfiguration implements InitializingBean { } - @Bean(name = "transactionManager") - public DataSourceTransactionManager transactionManager(DataSource dataSource) { - return new DataSourceTransactionManager(dataSource); - } - @Bean(name = "passwordPolicyValidator") public PasswordPolicyValidator passwordPolicyValidator(JdbcTemplate jdbcTemplate,MessageSource messageSource) { return new PasswordPolicyValidator(jdbcTemplate,messageSource); @@ -112,40 +89,6 @@ public class AuthenticationAutoConfiguration implements InitializingBean { return new LoginHistoryService(jdbcTemplate); } - - /** - * Authentication Password Encoder . - * @return - */ - @Bean(name = "passwordEncoder") - public PasswordEncoder passwordEncoder() { - _logger.debug("init passwordEncoder ."); - String idForEncode = "bcrypt"; - Map encoders = new HashMap(); - encoders.put(idForEncode, new BCryptPasswordEncoder()); - encoders.put("plain", NoOpPasswordEncoder.getInstance()); - encoders.put("pbkdf2", new Pbkdf2PasswordEncoder()); - encoders.put("scrypt", new SCryptPasswordEncoder()); - //md - encoders.put("md4", new Md4PasswordEncoder()); - encoders.put("md5", new MessageDigestPasswordEncoder("MD5")); - //sha - encoders.put("sha1", new StandardPasswordEncoder("SHA-1","")); - encoders.put("sha256", new StandardPasswordEncoder()); - encoders.put("sha384", new StandardPasswordEncoder("SHA-384","")); - encoders.put("sha512", new StandardPasswordEncoder("SHA-512","")); - - encoders.put("sm3", new SM3PasswordEncoder()); - - encoders.put("ldap", new LdapShaPasswordEncoder()); - - //idForEncode is default for encoder - PasswordEncoder passwordEncoder = - new DelegatingPasswordEncoder(idForEncode, encoders); - - return passwordEncoder; - } - /** * remeberMeService . * @return diff --git a/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/autoconfigure/JwtAuthnAutoConfiguration.java b/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/autoconfigure/JwtAuthnAutoConfiguration.java index c14f402be..cbfe53033 100644 --- a/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/autoconfigure/JwtAuthnAutoConfiguration.java +++ b/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/autoconfigure/JwtAuthnAutoConfiguration.java @@ -25,7 +25,6 @@ import java.security.spec.InvalidKeySpecException; import org.maxkey.authn.support.jwt.JwtLoginService; import org.maxkey.configuration.oidc.OIDCProviderMetadataDetails; -import org.maxkey.constants.ConstantsProperties; import org.maxkey.crypto.jose.keystore.JWKSetKeyStore; import org.maxkey.crypto.jwt.encryption.service.impl.DefaultJwtEncryptionAndDecryptionService; import org.maxkey.crypto.jwt.signer.service.impl.DefaultJwtSigningAndValidationService; @@ -35,12 +34,10 @@ import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.PropertySource; import org.springframework.core.io.ClassPathResource; @Configuration -@PropertySource(ConstantsProperties.applicationPropertySource) public class JwtAuthnAutoConfiguration implements InitializingBean { private static final Logger _logger = LoggerFactory.getLogger(JwtAuthnAutoConfiguration.class); diff --git a/maxkey-authentications/maxkey-authentication-social/src/main/java/org/maxkey/autoconfigure/SocialSignOnAutoConfiguration.java b/maxkey-authentications/maxkey-authentication-social/src/main/java/org/maxkey/autoconfigure/SocialSignOnAutoConfiguration.java index 84c71bcf2..a807cc4d0 100644 --- a/maxkey-authentications/maxkey-authentication-social/src/main/java/org/maxkey/autoconfigure/SocialSignOnAutoConfiguration.java +++ b/maxkey-authentications/maxkey-authentication-social/src/main/java/org/maxkey/autoconfigure/SocialSignOnAutoConfiguration.java @@ -20,11 +20,9 @@ package org.maxkey.autoconfigure; import java.io.IOException; import java.util.ArrayList; import java.util.List; -import java.util.Properties; import org.maxkey.authn.support.socialsignon.service.JdbcSocialsAssociateService; import org.maxkey.authn.support.socialsignon.service.SocialSignOnProvider; import org.maxkey.authn.support.socialsignon.service.SocialSignOnProviderService; -import org.maxkey.constants.ConstantsProperties; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.InitializingBean; @@ -32,33 +30,40 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.PropertySource; +import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; +import org.springframework.core.env.StandardEnvironment; import org.springframework.jdbc.core.JdbcTemplate; @Configuration @ComponentScan(basePackages = { "org.maxkey.authn.support.socialsignon" }) -@PropertySource(ConstantsProperties.applicationPropertySource) public class SocialSignOnAutoConfiguration implements InitializingBean { private static final Logger _logger = LoggerFactory.getLogger(SocialSignOnAutoConfiguration.class); @Bean(name = "socialSignOnProviderService") @ConditionalOnClass(SocialSignOnProvider.class) public SocialSignOnProviderService socialSignOnProviderService( - Properties applicationProperty) throws IOException { + PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer) throws IOException { SocialSignOnProviderService socialSignOnProviderService = new SocialSignOnProviderService(); - - String [] providerList =applicationProperty.get("maxkey.login.socialsignon.providers").toString().split(","); + + StandardEnvironment properties = (StandardEnvironment) propertySourcesPlaceholderConfigurer + .getAppliedPropertySources() + .get(PropertySourcesPlaceholderConfigurer.ENVIRONMENT_PROPERTIES_PROPERTY_SOURCE_NAME) + .getSource(); + List socialSignOnProviderList = new ArrayList(); + + String [] providerList =properties.getProperty("maxkey.login.socialsignon.providers").toString().split(","); + for(String provider : providerList) { - String providerName = applicationProperty.getProperty("maxkey.socialsignon."+provider+".provider.name"); - String icon=applicationProperty.getProperty("maxkey.socialsignon."+provider+".icon"); - String clientId=applicationProperty.getProperty("maxkey.socialsignon."+provider+".client.id"); - String clientSecret=applicationProperty.getProperty("maxkey.socialsignon."+provider+".client.secret"); - String sortOrder = applicationProperty.getProperty("maxkey.socialsignon."+provider+".sortorder"); - String agentId = applicationProperty.getProperty("maxkey.socialsignon."+provider+".agent.id"); - String hidden = applicationProperty.getProperty("maxkey.socialsignon."+provider+".hidden"); + String providerName = properties.getProperty("maxkey.socialsignon."+provider+".provider.name"); + String icon=properties.getProperty("maxkey.socialsignon."+provider+".icon"); + String clientId=properties.getProperty("maxkey.socialsignon."+provider+".client.id"); + String clientSecret=properties.getProperty("maxkey.socialsignon."+provider+".client.secret"); + String sortOrder = properties.getProperty("maxkey.socialsignon."+provider+".sortorder"); + String agentId = properties.getProperty("maxkey.socialsignon."+provider+".agent.id"); + String hidden = properties.getProperty("maxkey.socialsignon."+provider+".hidden"); SocialSignOnProvider socialSignOnProvider = new SocialSignOnProvider(); socialSignOnProvider.setProvider(provider); diff --git a/maxkey-core/src/main/java/org/maxkey/autoconfigure/ApplicationAutoConfiguration.java b/maxkey-core/src/main/java/org/maxkey/autoconfigure/ApplicationAutoConfiguration.java index 0b6c19618..a9fa5947d 100644 --- a/maxkey-core/src/main/java/org/maxkey/autoconfigure/ApplicationAutoConfiguration.java +++ b/maxkey-core/src/main/java/org/maxkey/autoconfigure/ApplicationAutoConfiguration.java @@ -59,7 +59,6 @@ import org.springframework.security.crypto.scrypt.SCryptPasswordEncoder; @Configuration -@PropertySource(ConstantsProperties.applicationPropertySource) public class ApplicationAutoConfiguration implements InitializingBean { private static final Logger _logger = LoggerFactory.getLogger(ApplicationAutoConfiguration.class); @@ -76,7 +75,7 @@ public class ApplicationAutoConfiguration implements InitializingBean { * @return propertySourcesPlaceholderConfigurer * @throws IOException null */ - @Bean (name = "propertySourcesPlaceholderConfigurer") + /*@Bean (name = "propertySourcesPlaceholderConfigurer") public PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() throws IOException { ClassPathResource classPathApplicationPropertySource = @@ -105,7 +104,7 @@ public class ApplicationAutoConfiguration implements InitializingBean { properties.load(resource.getInputStream()); return properties; } - + */ @Bean(name = "passwordReciprocal") public PasswordReciprocal passwordReciprocal() { diff --git a/maxkey-core/src/main/java/org/maxkey/autoconfigure/MvcAutoConfiguration.java b/maxkey-core/src/main/java/org/maxkey/autoconfigure/MvcAutoConfiguration.java index 0cd3c3e72..200ace3cb 100644 --- a/maxkey-core/src/main/java/org/maxkey/autoconfigure/MvcAutoConfiguration.java +++ b/maxkey-core/src/main/java/org/maxkey/autoconfigure/MvcAutoConfiguration.java @@ -23,7 +23,6 @@ import java.util.List; import javax.servlet.Filter; -import org.maxkey.constants.ConstantsProperties; import org.maxkey.constants.ConstantsTimeInterval; import org.maxkey.persistence.db.LoginHistoryService; import org.maxkey.persistence.db.LoginService; @@ -41,7 +40,7 @@ import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.DependsOn; -import org.springframework.context.annotation.PropertySource; +import org.springframework.context.annotation.Primary; import org.springframework.context.support.ReloadableResourceBundleMessageSource; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; @@ -61,7 +60,6 @@ import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandl @Configuration -@PropertySource(ConstantsProperties.applicationPropertySource) public class MvcAutoConfiguration implements InitializingBean { private static final Logger _logger = LoggerFactory.getLogger(MvcAutoConfiguration.class); @@ -69,12 +67,13 @@ public class MvcAutoConfiguration implements InitializingBean { * cookieLocaleResolver . * @return cookieLocaleResolver */ + @Primary @Bean (name = "localeResolver") public CookieLocaleResolver cookieLocaleResolver( @Value("${maxkey.server.domain:maxkey.top}")String domainName) { _logger.debug("DomainName " + domainName); CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver(); - cookieLocaleResolver.setCookieName("maxkey_lang"); + cookieLocaleResolver.setCookieName("maxkey_locale"); cookieLocaleResolver.setCookieDomain(domainName); cookieLocaleResolver.setCookieMaxAge(ConstantsTimeInterval.TWO_WEEK); return cookieLocaleResolver; diff --git a/maxkey-core/src/main/java/org/maxkey/autoconfigure/RedisAutoConfiguration.java b/maxkey-core/src/main/java/org/maxkey/autoconfigure/RedisAutoConfiguration.java index 7a5c69581..e5748c1f5 100644 --- a/maxkey-core/src/main/java/org/maxkey/autoconfigure/RedisAutoConfiguration.java +++ b/maxkey-core/src/main/java/org/maxkey/autoconfigure/RedisAutoConfiguration.java @@ -17,7 +17,6 @@ package org.maxkey.autoconfigure; -import org.maxkey.constants.ConstantsProperties; import org.maxkey.persistence.redis.RedisConnectionFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -25,11 +24,9 @@ import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.PropertySource; import redis.clients.jedis.JedisPoolConfig; @Configuration -@PropertySource(ConstantsProperties.applicationPropertySource) public class RedisAutoConfiguration implements InitializingBean { private static final Logger _logger = LoggerFactory.getLogger(RedisAutoConfiguration.class); diff --git a/maxkey-core/src/main/java/org/maxkey/autoconfigure/SessionRedisAutoConfiguration.java b/maxkey-core/src/main/java/org/maxkey/autoconfigure/SessionRedisAutoConfiguration.java index 29e27f2ac..6327e0a11 100644 --- a/maxkey-core/src/main/java/org/maxkey/autoconfigure/SessionRedisAutoConfiguration.java +++ b/maxkey-core/src/main/java/org/maxkey/autoconfigure/SessionRedisAutoConfiguration.java @@ -17,7 +17,6 @@ package org.maxkey.autoconfigure; -import org.maxkey.constants.ConstantsProperties; import org.maxkey.persistence.redis.RedisConnectionFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -26,7 +25,6 @@ import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.PropertySource; import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession; import org.springframework.session.web.http.CookieSerializer; import org.springframework.session.web.http.DefaultCookieSerializer; @@ -34,7 +32,6 @@ import org.springframework.session.web.http.DefaultCookieSerializer; @Configuration @ConditionalOnProperty(value = "spring.session.store-type", havingValue = "redis", matchIfMissing = false) @EnableRedisHttpSession -@PropertySource(ConstantsProperties.applicationPropertySource) public class SessionRedisAutoConfiguration implements InitializingBean { private static final Logger _logger = LoggerFactory.getLogger(SessionRedisAutoConfiguration.class); diff --git a/maxkey-core/src/main/java/org/maxkey/configuration/ApplicationConfig.java b/maxkey-core/src/main/java/org/maxkey/configuration/ApplicationConfig.java index c4d38009c..61544e5d7 100644 --- a/maxkey-core/src/main/java/org/maxkey/configuration/ApplicationConfig.java +++ b/maxkey-core/src/main/java/org/maxkey/configuration/ApplicationConfig.java @@ -17,12 +17,11 @@ package org.maxkey.configuration; -import org.maxkey.constants.ConstantsProperties; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.PropertySource; +import org.springframework.context.annotation.Configuration; import org.springframework.stereotype.Component; /** @@ -36,7 +35,7 @@ import org.springframework.stereotype.Component; * */ @Component -@PropertySource(ConstantsProperties.applicationPropertySource) +@Configuration public class ApplicationConfig { private static final Logger _logger = LoggerFactory.getLogger(ApplicationConfig.class); @@ -64,8 +63,11 @@ public class ApplicationConfig { @Value("${maxkey.server.default.uri}") String defaultUri; - @Value("${maxkey.server.management.uri}") - String managementUri; + @Value("${maxkey.server.mgt.uri}") + String mgtUri; + + @Value("${maxkey.server.authz.uri}") + private String authzUri; @Value("${server.port:8080}") private int port; @@ -76,9 +78,6 @@ public class ApplicationConfig { @Value("${maxkey.identity.kafkasupport:false}") private boolean kafkaSupport; - @Value("${maxkey.maxkey.uri}") - private String maxKeyUri; - @Value("${maxkey.notices.visible:false}") private boolean noticesVisible; @@ -170,13 +169,7 @@ public class ApplicationConfig { this.emailConfig = emailConfig; } - public String getManagementUri() { - return managementUri; - } - - public void setManagementUri(String managementUri) { - this.managementUri = managementUri; - } + public String getDefaultUri() { return defaultUri; @@ -194,15 +187,23 @@ public class ApplicationConfig { this.kafkaSupport = kafkaSupport; } - public String getMaxKeyUri() { - return maxKeyUri; - } + public String getMgtUri() { + return mgtUri; + } - public void setMaxKeyUri(String maxKeyUri) { - this.maxKeyUri = maxKeyUri; - } + public void setMgtUri(String mgtUri) { + this.mgtUri = mgtUri; + } + + public String getAuthzUri() { + return authzUri; + } + + public void setAuthzUri(String authzUri) { + this.authzUri = authzUri; + } - public int getSessionTimeout() { + public int getSessionTimeout() { return sessionTimeout; } @@ -238,13 +239,13 @@ public class ApplicationConfig { builder.append(", defaultUri="); builder.append(defaultUri); builder.append(", managementUri="); - builder.append(managementUri); + builder.append(mgtUri); builder.append(", port="); builder.append(port); builder.append(", kafkaSupport="); builder.append(kafkaSupport); builder.append(", maxKeyUri="); - builder.append(maxKeyUri); + builder.append(authzUri); builder.append("]"); return builder.toString(); } diff --git a/maxkey-core/src/main/java/org/maxkey/configuration/CharacterEncodingConfig.java b/maxkey-core/src/main/java/org/maxkey/configuration/CharacterEncodingConfig.java index a28c181e4..8fb680748 100644 --- a/maxkey-core/src/main/java/org/maxkey/configuration/CharacterEncodingConfig.java +++ b/maxkey-core/src/main/java/org/maxkey/configuration/CharacterEncodingConfig.java @@ -19,10 +19,8 @@ package org.maxkey.configuration; import java.io.UnsupportedEncodingException; -import org.maxkey.constants.ConstantsProperties; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.PropertySource; /** * 字符集转换及转换配置. @@ -31,7 +29,6 @@ import org.springframework.context.annotation.PropertySource; * */ @Configuration -@PropertySource(ConstantsProperties.applicationPropertySource) public class CharacterEncodingConfig { /** diff --git a/maxkey-core/src/main/java/org/maxkey/configuration/EmailConfig.java b/maxkey-core/src/main/java/org/maxkey/configuration/EmailConfig.java index 7fd1eb35f..716447c44 100644 --- a/maxkey-core/src/main/java/org/maxkey/configuration/EmailConfig.java +++ b/maxkey-core/src/main/java/org/maxkey/configuration/EmailConfig.java @@ -17,13 +17,10 @@ package org.maxkey.configuration; -import org.maxkey.constants.ConstantsProperties; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.PropertySource; @Configuration -@PropertySource(ConstantsProperties.applicationPropertySource) public class EmailConfig { @Value("${spring.mail.username}") diff --git a/maxkey-core/src/main/java/org/maxkey/configuration/LoginConfig.java b/maxkey-core/src/main/java/org/maxkey/configuration/LoginConfig.java index a17c72ccc..de1acba3d 100644 --- a/maxkey-core/src/main/java/org/maxkey/configuration/LoginConfig.java +++ b/maxkey-core/src/main/java/org/maxkey/configuration/LoginConfig.java @@ -17,13 +17,10 @@ package org.maxkey.configuration; -import org.maxkey.constants.ConstantsProperties; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.PropertySource; @Configuration -@PropertySource(ConstantsProperties.applicationPropertySource) public class LoginConfig { @Value("${maxkey.login.captcha}") boolean captcha; diff --git a/maxkey-core/src/main/java/org/maxkey/constants/ConstantsProperties.java b/maxkey-core/src/main/java/org/maxkey/constants/ConstantsProperties.java index a7e5d2326..322c605d9 100644 --- a/maxkey-core/src/main/java/org/maxkey/constants/ConstantsProperties.java +++ b/maxkey-core/src/main/java/org/maxkey/constants/ConstantsProperties.java @@ -17,13 +17,8 @@ package org.maxkey.constants; -import org.junit.Test; - public class ConstantsProperties { - public static final String applicationPropertySource = - "classpath:/application.properties"; - public static final String kaptchaPropertySource = "classpath:/kaptcha.properties"; @@ -38,9 +33,5 @@ public class ConstantsProperties { return propertySource.replace(".", "-"+active+".").replaceAll("classpath:",""); } - @Test - public void classPathResourceTest() { - System.out.println(classPathResource(applicationPropertySource)); - System.out.println(classPathResource(applicationPropertySource,"active")); - } + } diff --git a/maxkey-core/src/main/java/org/maxkey/web/InitializeContext.java b/maxkey-core/src/main/java/org/maxkey/web/InitializeContext.java index 1aa2958db..1f4c18d9f 100644 --- a/maxkey-core/src/main/java/org/maxkey/web/InitializeContext.java +++ b/maxkey-core/src/main/java/org/maxkey/web/InitializeContext.java @@ -21,13 +21,13 @@ import java.sql.Connection; import java.sql.SQLException; import java.util.Iterator; import java.util.Map; -import java.util.Properties; -import java.util.Set; import java.util.SortedSet; import java.util.TreeSet; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; + +import org.joda.time.DateTime; import org.maxkey.cache.CacheFactory; import org.maxkey.util.PathUtils; import org.slf4j.Logger; @@ -36,6 +36,8 @@ import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; +import org.springframework.core.env.PropertySource; +import org.springframework.core.env.StandardEnvironment; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.web.context.support.WebApplicationContextUtils; @@ -172,21 +174,15 @@ public class InitializeContext extends HttpServlet { PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer = ((PropertySourcesPlaceholderConfigurer) applicationContext .getBean("propertySourcesPlaceholderConfigurer")); - WebContext.properties = (Properties) propertySourcesPlaceholderConfigurer + + WebContext.properties = (StandardEnvironment) propertySourcesPlaceholderConfigurer .getAppliedPropertySources() - .get(PropertySourcesPlaceholderConfigurer.LOCAL_PROPERTIES_PROPERTY_SOURCE_NAME) + .get(PropertySourcesPlaceholderConfigurer.ENVIRONMENT_PROPERTIES_PROPERTY_SOURCE_NAME) .getSource(); - Set keyValue = WebContext.properties.keySet(); - SortedSet keyValueSet = new TreeSet(); - // sort key - for (Iterator it = keyValue.iterator(); it.hasNext();) { - String key = (String) it.next(); - keyValueSet.add(key); - } - // out - for (Iterator it = keyValueSet.iterator(); it.hasNext();) { - String key = (String) it.next(); - _logger.trace(key + " = " + WebContext.properties.get(key)); + + Iterator> it =WebContext.properties.getPropertySources().iterator(); + while(it.hasNext()) { + _logger.debug("propertySource " + it.next()); } _logger.trace("-----------------------------------------------------------"); } @@ -223,7 +219,9 @@ public class InitializeContext extends HttpServlet { _logger.info("+ Version " + WebContext.properties.getProperty("application.formatted-version")); _logger.info("+"); - _logger.info("+ "+ ((char)0xA9) + "Copyright 2018-2021 https://www.maxkey.top/"); + _logger.info("+ "+ ((char)0xA9) + "Copyright 2018-" + + (new DateTime().getYear()) + + " https://www.maxkey.top/"); _logger.info("+ Licensed under the Apache License, Version 2.0 "); _logger.info("-----------------------------------------------------------"); } diff --git a/maxkey-core/src/main/java/org/maxkey/web/WebContext.java b/maxkey-core/src/main/java/org/maxkey/web/WebContext.java index 9be8f7d8f..0d4465785 100644 --- a/maxkey-core/src/main/java/org/maxkey/web/WebContext.java +++ b/maxkey-core/src/main/java/org/maxkey/web/WebContext.java @@ -23,7 +23,6 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Locale; import java.util.Map; -import java.util.Properties; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -37,6 +36,7 @@ import org.maxkey.web.message.Message; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.ApplicationContext; +import org.springframework.core.env.StandardEnvironment; import org.springframework.security.core.Authentication; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @@ -55,7 +55,7 @@ public final class WebContext { final static Logger _logger = LoggerFactory.getLogger(WebContext.class); - public static Properties properties; + public static StandardEnvironment properties; public static ApplicationContext applicationContext; diff --git a/maxkey-identitys/maxkey-synchronizers/src/main/java/org/maxkey/synchronizer/autoconfigure/SynchronizerAutoConfiguration.java b/maxkey-identitys/maxkey-synchronizers/src/main/java/org/maxkey/synchronizer/autoconfigure/SynchronizerAutoConfiguration.java index 425dffd6e..f0266c868 100644 --- a/maxkey-identitys/maxkey-synchronizers/src/main/java/org/maxkey/synchronizer/autoconfigure/SynchronizerAutoConfiguration.java +++ b/maxkey-identitys/maxkey-synchronizers/src/main/java/org/maxkey/synchronizer/autoconfigure/SynchronizerAutoConfiguration.java @@ -21,7 +21,6 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; -import org.maxkey.constants.ConstantsProperties; import org.maxkey.entity.Synchronizers; import org.maxkey.synchronizer.SynchronizerJob; import org.quartz.CronExpression; @@ -39,13 +38,11 @@ import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.PropertySource; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springframework.scheduling.quartz.SchedulerFactoryBean; @Configuration -@PropertySource(ConstantsProperties.applicationPropertySource) public class SynchronizerAutoConfiguration implements InitializingBean { private static final Logger _logger = LoggerFactory.getLogger(SynchronizerAutoConfiguration.class); diff --git a/maxkey-protocols/maxkey-protocol-cas/src/main/java/org/maxkey/autoconfigure/CasAutoConfiguration.java b/maxkey-protocols/maxkey-protocol-cas/src/main/java/org/maxkey/autoconfigure/CasAutoConfiguration.java index 78d1acd52..4df86ea9c 100644 --- a/maxkey-protocols/maxkey-protocol-cas/src/main/java/org/maxkey/autoconfigure/CasAutoConfiguration.java +++ b/maxkey-protocols/maxkey-protocol-cas/src/main/java/org/maxkey/autoconfigure/CasAutoConfiguration.java @@ -21,7 +21,6 @@ import org.maxkey.authz.cas.endpoint.ticket.TicketServices; import org.maxkey.authz.cas.endpoint.ticket.pgt.ProxyGrantingTicketServicesFactory; import org.maxkey.authz.cas.endpoint.ticket.st.TicketServicesFactory; import org.maxkey.authz.cas.endpoint.ticket.tgt.TicketGrantingTicketServicesFactory; -import org.maxkey.constants.ConstantsProperties; import org.maxkey.persistence.redis.RedisConnectionFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -30,14 +29,12 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.PropertySource; import org.springframework.jdbc.core.JdbcTemplate; @Configuration @ComponentScan(basePackages = { "org.maxkey.authz.cas.endpoint" }) -@PropertySource(ConstantsProperties.applicationPropertySource) public class CasAutoConfiguration implements InitializingBean { private static final Logger _logger = LoggerFactory.getLogger(CasAutoConfiguration.class); diff --git a/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/maxkey/autoconfigure/Oauth20AutoConfiguration.java b/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/maxkey/autoconfigure/Oauth20AutoConfiguration.java index 6deaa53ad..ddcbdc4e5 100644 --- a/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/maxkey/autoconfigure/Oauth20AutoConfiguration.java +++ b/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/maxkey/autoconfigure/Oauth20AutoConfiguration.java @@ -41,7 +41,6 @@ import org.maxkey.authz.oauth2.provider.token.store.JwtAccessTokenConverter; import org.maxkey.authz.oauth2.provider.token.store.TokenStoreFactory; import org.maxkey.authz.oidc.idtoken.OIDCIdTokenEnhancer; import org.maxkey.configuration.oidc.OIDCProviderMetadataDetails; -import org.maxkey.constants.ConstantsProperties; import org.maxkey.crypto.jose.keystore.JWKSetKeyStore; import org.maxkey.crypto.jwt.encryption.service.impl.DefaultJwtEncryptionAndDecryptionService; import org.maxkey.crypto.jwt.signer.service.impl.DefaultJwtSigningAndValidationService; @@ -55,7 +54,6 @@ import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.PropertySource; import org.springframework.core.io.ClassPathResource; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.security.authentication.ProviderManager; @@ -71,7 +69,6 @@ import com.nimbusds.jose.JWEAlgorithm; "org.maxkey.authz.oauth2.provider.userinfo.endpoint", "org.maxkey.authz.oauth2.provider.approval.controller" }) -@PropertySource(ConstantsProperties.applicationPropertySource) public class Oauth20AutoConfiguration implements InitializingBean { private static final Logger _logger = LoggerFactory.getLogger(Oauth20AutoConfiguration.class); diff --git a/maxkey-protocols/maxkey-protocol-saml-2.0/src/main/java/org/maxkey/autoconfigure/Saml20AutoConfiguration.java b/maxkey-protocols/maxkey-protocol-saml-2.0/src/main/java/org/maxkey/autoconfigure/Saml20AutoConfiguration.java index 28ab9b896..2865837d7 100644 --- a/maxkey-protocols/maxkey-protocol-saml-2.0/src/main/java/org/maxkey/autoconfigure/Saml20AutoConfiguration.java +++ b/maxkey-protocols/maxkey-protocol-saml-2.0/src/main/java/org/maxkey/autoconfigure/Saml20AutoConfiguration.java @@ -34,7 +34,6 @@ import org.maxkey.authz.saml20.binding.impl.PostBindingAdapter; import org.maxkey.authz.saml20.binding.impl.PostSimpleSignBindingAdapter; import org.maxkey.authz.saml20.provider.xml.AuthnResponseGenerator; import org.maxkey.authz.saml20.xml.SAML2ValidatorSuite; -import org.maxkey.constants.ConstantsProperties; import org.maxkey.crypto.keystore.KeyStoreLoader; import org.maxkey.entity.Saml20Metadata; import org.opensaml.common.binding.security.IssueInstantRule; @@ -50,7 +49,6 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.PropertySource; import org.springframework.ui.velocity.VelocityEngineFactoryBean; @Configuration @@ -58,7 +56,6 @@ import org.springframework.ui.velocity.VelocityEngineFactoryBean; "org.maxkey.authz.saml20.provider.endpoint", "org.maxkey.authz.saml20.metadata.endpoint", }) -@PropertySource(ConstantsProperties.applicationPropertySource) public class Saml20AutoConfiguration implements InitializingBean { private static final Logger _logger = LoggerFactory.getLogger(Saml20AutoConfiguration.class); diff --git a/maxkey-webs/maxkey-boot-monitor/src/main/java/org/maxkey/boot/monitor/MaxKeyBootMonitor.java b/maxkey-webs/maxkey-boot-monitor/src/main/java/org/maxkey/boot/monitor/MaxKeyBootMonitor.java index fb4a3491c..dfe0e515a 100644 --- a/maxkey-webs/maxkey-boot-monitor/src/main/java/org/maxkey/boot/monitor/MaxKeyBootMonitor.java +++ b/maxkey-webs/maxkey-boot-monitor/src/main/java/org/maxkey/boot/monitor/MaxKeyBootMonitor.java @@ -6,6 +6,7 @@ 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.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.context.annotation.Configuration; import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure; @@ -14,6 +15,7 @@ import de.codecentric.boot.admin.server.config.EnableAdminServer; @Configuration @EnableAdminServer +@EnableDiscoveryClient @SpringBootApplication( exclude={ RedisAutoConfiguration.class, diff --git a/maxkey-webs/maxkey-boot-monitor/src/main/java/org/maxkey/boot/monitor/MonitorSecurityConfigurer.java b/maxkey-webs/maxkey-boot-monitor/src/main/java/org/maxkey/boot/monitor/MonitorSecurityConfigurer.java index 8b8e3902c..bb7ebeac3 100644 --- a/maxkey-webs/maxkey-boot-monitor/src/main/java/org/maxkey/boot/monitor/MonitorSecurityConfigurer.java +++ b/maxkey-webs/maxkey-boot-monitor/src/main/java/org/maxkey/boot/monitor/MonitorSecurityConfigurer.java @@ -14,24 +14,24 @@ 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صʵϢ + "/login", //登录页面 + "/assets/**", //静态文件允许访问 + "/actuator/**", //springboot-admin监控的请求 + "/instances/**" //springboot-admin监控的实例信息请求 ).permitAll() - //Ҫ¼ + //其他所有请求需要登录 .anyRequest().authenticated() - //¼ + //登录 .and().formLogin().loginPage("/login").successHandler(successHandler) - //dz + //登出 .and().logout().logoutUrl("/logout").logoutSuccessUrl("/login") .and().httpBasic() .and().csrf() diff --git a/maxkey-webs/maxkey-boot-monitor/src/main/resources/application.properties b/maxkey-webs/maxkey-boot-monitor/src/main/resources/application.properties index f14b99b55..605f7eec4 100644 --- a/maxkey-webs/maxkey-boot-monitor/src/main/resources/application.properties +++ b/maxkey-webs/maxkey-boot-monitor/src/main/resources/application.properties @@ -16,8 +16,13 @@ #MaxKey Title and Version # ############################################################################ application.title=MaxKey -spring.application.name=maxkey-boot-admin-server +#for dynamic service discovery +spring.application.name=maxkey-monitor application.formatted-version=v2.9.0 GA +#nacos +spring.cloud.nacos.discovery.enabled=false +spring.cloud.nacos.discovery.instance-enabled=false +spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 server.port=9528 diff --git a/maxkey-webs/maxkey-boot-monitor/src/main/resources/bootstrap.properties b/maxkey-webs/maxkey-boot-monitor/src/main/resources/bootstrap.properties new file mode 100644 index 000000000..e29deba8f --- /dev/null +++ b/maxkey-webs/maxkey-boot-monitor/src/main/resources/bootstrap.properties @@ -0,0 +1,12 @@ +spring.cloud.nacos.config.server-addr=127.0.0.1:8848 + +# Nacos \u63A7\u5236\u53F0\u6DFB\u52A0\u914D\u7F6E\uFF1A +# Data ID\uFF1Amaxkey-monitor.properties +# Group\uFF1ADEFAULT_GROUP +# \u914D\u7F6E\u5185\u5BB9\uFF1A +spring.application.name=maxkey-monitor +# \u6307\u5B9A\u914D\u7F6E\u7684\u540E\u7F00\uFF0C\u652F\u6301 properties\u3001yaml\u3001yml\uFF0C\u9ED8\u8BA4\u4E3A properties +spring.cloud.nacos.config.file-extension=properties +#spring.cloud.nacos.config.file-extension=yaml +#\u662F\u5426\u542F\u7528nacos\u914D\u7F6E +spring.cloud.nacos.config.enabled=false \ No newline at end of file diff --git a/maxkey-webs/maxkey-boot-monitor/src/main/resources/log4j2.xml b/maxkey-webs/maxkey-boot-monitor/src/main/resources/log4j2.xml index 8e87a7f77..046a75066 100644 --- a/maxkey-webs/maxkey-boot-monitor/src/main/resources/log4j2.xml +++ b/maxkey-webs/maxkey-boot-monitor/src/main/resources/log4j2.xml @@ -23,6 +23,7 @@ + diff --git a/maxkey-webs/maxkey-web-maxkey/.temp-MaxKeyApplication-classpath-arg-1630159225769.txt b/maxkey-webs/maxkey-web-maxkey/.temp-MaxKeyApplication-classpath-arg-1630159225769.txt new file mode 100644 index 000000000..e7d3db975 --- /dev/null +++ b/maxkey-webs/maxkey-web-maxkey/.temp-MaxKeyApplication-classpath-arg-1630159225769.txt @@ -0,0 +1 @@ +-classpath D:\MaxKey\Workspaces\maxkey\MaxKey\maxkey-webs\maxkey-web-maxkey\bin\main;\maxkey-protocol-tokenbased\bin\default;D:\MaxKey\Workspaces\maxkey\MaxKey\maxkey-protocols\maxkey-protocol-tokenbased\bin\main;\maxkey-authentication-otp\bin\default;D:\MaxKey\Workspaces\maxkey\MaxKey\maxkey-authentications\maxkey-authentication-otp\bin\main;\maxkey-protocol-oauth-2.0\bin\default;D:\MaxKey\Workspaces\maxkey\MaxKey\maxkey-protocols\maxkey-protocol-oauth-2.0\bin\main;\maxkey-protocol-authorize\bin\default;D:\MaxKey\Workspaces\maxkey\MaxKey\maxkey-protocols\maxkey-protocol-authorize\bin\main;\maxkey-authentication-social\bin\default;D:\MaxKey\Workspaces\maxkey\MaxKey\maxkey-authentications\maxkey-authentication-social\bin\main;\maxkey-protocol-saml-2.0\bin\default;D:\MaxKey\Workspaces\maxkey\MaxKey\maxkey-protocols\maxkey-protocol-saml-2.0\bin\main;\maxkey-protocol-cas\bin\default;D:\MaxKey\Workspaces\maxkey\MaxKey\maxkey-protocols\maxkey-protocol-cas\bin\main;\maxkey-protocol-extendapi\bin\default;D:\MaxKey\Workspaces\maxkey\MaxKey\maxkey-protocols\maxkey-protocol-extendapi\bin\main;\maxkey-web-resources\bin\default;D:\MaxKey\Workspaces\maxkey\MaxKey\maxkey-webs\maxkey-web-resources\bin\main;D:\MaxKey\Workspaces\maxkey\MaxKey\maxkey-core\bin\default;D:\MaxKey\Workspaces\maxkey\MaxKey\maxkey-core\bin\main;\maxkey-authentication-core\bin\default;D:\MaxKey\Workspaces\maxkey\MaxKey\maxkey-authentications\maxkey-authentication-core\bin\main;\maxkey-persistence\bin\default;D:\MaxKey\Workspaces\maxkey\MaxKey\maxkey-persistence\bin\main;\maxkey-protocol-formbased\bin\default;D:\MaxKey\Workspaces\maxkey\MaxKey\maxkey-protocols\maxkey-protocol-formbased\bin\main;\maxkey-common\bin\default;D:\MaxKey\Workspaces\maxkey\MaxKey\maxkey-common\bin\main;\maxkey-authentication-captcha\bin\default;D:\MaxKey\Workspaces\maxkey\MaxKey\maxkey-authentications\maxkey-authentication-captcha\bin\main;\maxkey-protocol-jwt\bin\default;D:\MaxKey\Workspaces\maxkey\MaxKey\maxkey-protocols\maxkey-protocol-jwt\bin\main;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\junit\junit\4.11\4e031bb61df09069aeb2bffb4019e7a5034a4ee0\junit-4.11.jar;C:\Users\shimh\.m2\repository\commons-beanutils\commons-beanutils\1.9.3\commons-beanutils-1.9.3.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\commons-codec\commons-codec\1.15\49d94806b6e3dc933dacbd8acb0fdbab8ebd1e5d\commons-codec-1.15.jar;C:\Users\shimh\.m2\repository\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-collections4\4.4\62ebe7544cb7164d87e0637a2a6a2bdc981395e8\commons-collections4-4.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-text\1.9\ba6ac8c2807490944a0a27f6f8e68fb5ed2e80e2\commons-text-1.9.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-dbcp2\2.6.0\78d0e99c4bc815a9f20cf6837761e91b7fc6eef4\commons-dbcp2-2.6.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\commons-dbutils\commons-dbutils\1.7\a2d6e515aa87e5d38f6b3003e70b13c1b1f19ca0\commons-dbutils-1.7.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-digester3\3.2\c3f68c5ff25ec5204470fd8fdf4cb8feff5e8a79\commons-digester3-3.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\commons-digester\commons-digester\2.1\73a8001e7a54a255eef0f03521ec1805dc738ca0\commons-digester-2.1.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\commons-io\commons-io\2.8.0\92999e26e6534606b5678014e66948286298a35c\commons-io-2.8.0.jar;C:\Users\shimh\.m2\repository\commons-lang\commons-lang\2.6\commons-lang-2.6.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-lang3\3.11\68e9a6adf7cf8eb7e9d31bbc554c7c75eeaac568\commons-lang3-3.11.jar;C:\Users\shimh\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-pool2\2.6.2\775a8072995b29eafe8fb0a828a190589f71cede\commons-pool2-2.6.2.jar;C:\Users\shimh\.m2\repository\commons-httpclient\commons-httpclient\3.1\commons-httpclient-3.1.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\commons-fileupload\commons-fileupload\1.4\f95188e3d372e20e7328706c37ef366e5d7859b0\commons-fileupload-1.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-email\1.5\e8e677c6362eba14ff3c476ba63ccb83132dbd52\commons-email-1.5.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpasyncclient\4.1.4\f3a3240681faae3fa46b573a4c7e50cec9db0d86\httpasyncclient-4.1.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpclient\4.5.13\e5f6cae5ca7ecaac1ec2827a9e2d65ae2869cada\httpclient-4.5.13.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\fluent-hc\4.5.13\300bf1846737e34b9ea10faae257ca8fdcd0616f\fluent-hc-4.5.13.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpclient-cache\4.5.13\4abee263cbc9edc12393212ca3a7c89af0755b1f\httpclient-cache-4.5.13.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpmime\4.5.13\efc110bad4a0d45cda7858e6beee1d8a8313da5a\httpmime-4.5.13.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpcore\4.4.14\9dd1a631c082d92ecd4bd8fd4cf55026c720a8c1\httpcore-4.4.14.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpcore-nio\4.4.14\175aeb59b09cf2ebbec622fe1704904a092ee291\httpcore-nio-4.4.14.jar;C:\Users\shimh\.m2\repository\org\apache\velocity\velocity\1.7\velocity-1.7.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\velocity\velocity-dep\1.4\b1df5193d3dd66a310b32828c547cd9e163b98df\velocity-dep-1.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.freemarker\freemarker\2.3.31\cd4fc0942b4a8bdb19f3b669aa42136fb54feb55\freemarker-2.3.31.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.xmlbeans\xmlbeans\3.0.1\50d94da791ab1e799a11d6f82410fd7d49f402ca\xmlbeans-3.0.1.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-compress\1.20\b8df472b31e1f17c232d2ad78ceb1c84e00c641b\commons-compress-1.20.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.poi\poi\4.1.2\964bf41cf68bce08e4ef6b2279b559fdf8d454f4\poi-4.1.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.poi\poi-ooxml\4.1.2\87d9a22aa9a7dd26e80c360e709f7ee02e32ab3b\poi-ooxml-4.1.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.poi\poi-ooxml-schemas\4.1.2\550cc22a598c0b0a51d1f55f8371e83c1229802d\poi-ooxml-schemas-4.1.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.poi\poi-scratchpad\4.1.2\1be379e91d3d3fb0cd11425451acdbfb0d2264e7\poi-scratchpad-4.1.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-core\9.0.52\501d876042f7bff64ee42cf1849e4abea272632\tomcat-embed-core-9.0.52.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-el\9.0.52\ee51a2bab9b9c055f857fef0926116e8f459e8cc\tomcat-embed-el-9.0.52.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-websocket\9.0.52\557c15720af6f8d59a8308ce290f4408b5325194\tomcat-embed-websocket-9.0.52.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-logging-juli\8.5.2\eb8d86e9972274272133c73a976ea744d9086cf1\tomcat-embed-logging-juli-8.5.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-1.2-api\2.14.1\6bfcc76fa1a1a41295aff0042200aaa82d9ac286\log4j-1.2-api-2.14.1.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-api\2.14.1\cd8858fbbde69f46bce8db1152c18a43328aae78\log4j-api-2.14.1.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-core\2.14.1\9141212b8507ab50a45525b545b39d224614528b\log4j-core-2.14.1.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-jcl\2.14.1\1fca42e15f41409c143aab446c754f35995cd7d1\log4j-jcl-2.14.1.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-jul\2.14.1\8ba38040d35759986f56779c76767e437d4db626\log4j-jul-2.14.1.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-slf4j-impl\2.14.1\9a40554b8dab7ac9606089c87ae8a5ba914ec932\log4j-slf4j-impl-2.14.1.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-web\2.14.1\cab83afbb8f2efdc730035b86d6f7b170c3cc2e7\log4j-web-2.14.1.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\1.7.32\cdcff33940d9f2de763bc41ea05a0be5941176c3\slf4j-api-1.7.32.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.jboss.logging\jboss-logging\3.4.2.Final\e517b8a93dd9962ed5481345e4d262fdd47c4217\jboss-logging-3.4.2.Final.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework\spring-aop\5.3.9\9bcad31a74e60d205500dd67d2220bd0195c63f8\spring-aop-5.3.9.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework\spring-aspects\5.3.9\ee2c3f8f99e1f115f502a7e47e632b1ed229e766\spring-aspects-5.3.9.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework\spring-beans\5.3.9\48600db2cb1abc0f7ef2b073f0c1abd78a83bcfc\spring-beans-5.3.9.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework\spring-core\5.3.9\cfef19d1dfa41d56f8de66238dc015334997d573\spring-core-5.3.9.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework\spring-context\5.3.9\887f4579ade4f47cf0102856f4f4c88eda8ec9d7\spring-context-5.3.9.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework\spring-context-indexer\5.3.9\830f9868c2b088a5b9b6d0623092f67e6153f968\spring-context-indexer-5.3.9.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework\spring-context-support\5.3.9\9aeab3bea52f94e54bcf6b82c1e515aa3529ab63\spring-context-support-5.3.9.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework\spring-expression\5.3.9\f5ca763cfb9d62d196efd5d25e8daca7d555ed75\spring-expression-5.3.9.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework\spring-jcl\5.3.9\622eb12c98768b6d3acc71ce06bac8b332607a10\spring-jcl-5.3.9.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework\spring-jdbc\5.3.9\18efdbd53c154a08e1854a6cff29c2becea04025\spring-jdbc-5.3.9.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework\spring-messaging\5.3.9\bcce428a1648c8b8814203bcc6dee1028280b6f6\spring-messaging-5.3.9.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework\spring-oxm\5.3.9\c5b33bba23232878b53c9486c2d4cc8cabc78401\spring-oxm-5.3.9.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework\spring-tx\5.3.9\a7057cf30368d014a1c8e5880a128703c890ec79\spring-tx-5.3.9.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework\spring-web\5.3.9\88c920ec1bda67fea04daa8e16165777440df473\spring-web-5.3.9.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework\spring-webflux\5.3.9\8a8b3ba9358800c6c3e2a4ec60da9644e8495844\spring-webflux-5.3.9.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework\spring-webmvc\5.3.9\c3cd1f0bba2658995e887d2f0011ab9bd3da1773\spring-webmvc-5.3.9.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.apache.kafka\kafka-clients\2.6.2\2cac75d298c496dc3995ae28eebe6fe5a6b64843\kafka-clients-2.6.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.kafka\spring-kafka\2.7.6\3d1008cbad8c9774fbaba2728dfe67fca0ad8deb\spring-kafka-2.7.6.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.retry\spring-retry\1.3.0\4ce2be0457023ff7afabd6a6024e6a84c7adcf9b\spring-retry-1.3.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.security\spring-security-core\5.5.2\cbb11a2fd6e86c45249562b980ba532476d9cae6\spring-security-core-5.5.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.security\spring-security-web\5.5.2\aa1b6fe3c48fbfbf47992633ff63b02208757d3a\spring-security-web-5.5.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.security\spring-security-crypto\5.5.2\83d2198c12e74dc78a6516563dcc3e989f134b54\spring-security-crypto-5.5.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot\2.5.4\b8d09303fa30f5102f33bcf2fa64b66be8fa39ba\spring-boot-2.5.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter\2.5.4\d5028e89214b204e39e5920ae118d69293ac3d8a\spring-boot-starter-2.5.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-actuator\2.5.4\b40fa14365609203fe8fb3f9e82a0144053ccf5d\spring-boot-actuator-2.5.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-actuator\2.5.4\9893d7a13bbe0e88dd9181fbcbf2d71041276475\spring-boot-starter-actuator-2.5.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-actuator-autoconfigure\2.5.4\27eb03aac40ef4cf6c5408497cc7b3403684e7d5\spring-boot-actuator-autoconfigure-2.5.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-autoconfigure\2.5.4\3fe555faa956fa8b63b0d0115bb0ed55e4509b5e\spring-boot-autoconfigure-2.5.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-freemarker\2.5.4\f83c4ce7ff32662a6b686812ec949e08058be7a8\spring-boot-starter-freemarker-2.5.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-json\2.5.4\6bf89f94c5d2455689d8649a3ead440d05e0c8f7\spring-boot-starter-json-2.5.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-log4j2\2.5.4\dc79ebe914e28db389203ae5a8f732515bd8d5e6\spring-boot-starter-log4j2-2.5.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-logging\2.5.4\bef5da8f5610ca83dcefead706d66be09b9ef55d\spring-boot-starter-logging-2.5.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-web\2.5.4\2bef2cedf2e0d1038ab51a2c6154579c5945e60c\spring-boot-starter-web-2.5.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-tomcat\2.5.4\57c1254fe8630619f17ff0ed37d4ffdfd0528c20\spring-boot-starter-tomcat-2.5.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-webflux\2.5.4\8285d3112320f0c916ea431a134f35d18574d66e\spring-boot-starter-webflux-2.5.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-reactor-netty\2.5.4\2881de0506b51932fbce697972d32103e404aa6c\spring-boot-starter-reactor-netty-2.5.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-data-redis\2.5.4\423b0a2e231967a499ddb15fe0ca09f029cd4e37\spring-boot-starter-data-redis-2.5.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-data-redis-reactive\2.5.4\996368f4671ac094b1d09e3fb96183057051112a\spring-boot-starter-data-redis-reactive-2.5.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-validation\2.5.4\8acfe1b2d2a111e278ee92f10d809dd1e63a7381\spring-boot-starter-validation-2.5.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\de.codecentric\spring-boot-admin-client\2.5.0\99f4fe43df92f57298633fca4b6923cfca3ef5f1\spring-boot-admin-client-2.5.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\de.codecentric\spring-boot-admin-starter-client\2.5.0\9134bd63fe7af5b4621663ced49df57772ef1287\spring-boot-admin-starter-client-2.5.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.data\spring-data-commons\2.5.2\25a00968c046736667e086ed9fd254f0e26e7ffc\spring-data-commons-2.5.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.data\spring-data-keyvalue\2.5.2\87785ad875a4edf55b5579464a92b40901b2438\spring-data-keyvalue-2.5.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.data\spring-data-redis\2.5.2\86596a82d462d870eeafbe4274b6ff41bc27b59c\spring-data-redis-2.5.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.session\spring-session-core\2.5.2\7a1390d1a123f1967b4b0a70aa62512c8f5a434e\spring-session-core-2.5.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.session\spring-session-data-redis\2.5.2\9b13fe9db58abe4af88c2d43651b6a06f5674a72\spring-session-data-redis-2.5.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.plugin\spring-plugin-core\2.0.0.RELEASE\95fc8c13037630f4aba9c51141f535becec00fe6\spring-plugin-core-2.0.0.RELEASE.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.springframework.plugin\spring-plugin-metadata\2.0.0.RELEASE\6fb3a1fc0f05dc826687b7686ad8a5960ecdd57c\spring-plugin-metadata-2.0.0.RELEASE.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.alibaba.spring\spring-context-support\1.0.11\d80d9b1103a614d2e362e06a300d1e589644895c\spring-context-support-1.0.11.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.alibaba.nacos\nacos-client\2.0.3\a73c03b466a1f1565ee2b0e459c43046d6c8c15b\nacos-client-2.0.3.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.alibaba.boot\nacos-spring-boot-base\0.2.10\c91cfc759dd3d1eef1f0d570e6d7561e963d9398\nacos-spring-boot-base-0.2.10.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.alibaba.nacos\nacos-spring-context\1.1.1\ae66bca797c1442f87914fcfe3625b7e21de2584\nacos-spring-context-1.1.1.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.alibaba.boot\nacos-discovery-spring-boot-starter\0.2.10\9fd196dfef04dd1e192b4e642089238111c8dd1f\nacos-discovery-spring-boot-starter-0.2.10.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.alibaba.boot\nacos-discovery-spring-boot-autoconfigure\0.2.10\2b70831b4025f1d344c95774695560ca248660fc\nacos-discovery-spring-boot-autoconfigure-0.2.10.jar;C:\Users\shimh\.m2\repository\org\opensaml\opensaml\2.6.6\opensaml-2.6.6.jar;C:\Users\shimh\.m2\repository\org\opensaml\openws\1.5.6\openws-1.5.6.jar;C:\Users\shimh\.m2\repository\org\opensaml\xmltooling\1.4.6\xmltooling-1.4.6.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\net.shibboleth.utilities\java-support\7.5.1\c3fecaa141e8f0fff8a14e6800aefa8155c9b3e8\java-support-7.5.1.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.nimbusds\nimbus-jose-jwt\9.4.1\19265c3d3670d24b3c4eeae8867a5ac9c654de50\nimbus-jose-jwt-9.4.1.jar;C:\Users\shimh\.m2\repository\net\jcip\jcip-annotations\1.0\jcip-annotations-1.0.jar;C:\Users\shimh\.m2\repository\net\minidev\json-smart\2.3\json-smart-2.3.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\net.minidev\asm\1.0.2\49f3068a4591b4aa6af553905ff2145685a21c2c\asm-1.0.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.xkcoding.http\simple-http\1.0.3\620716509bc168169d65b162c9afe651ce3317fc\simple-http-1.0.3.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\me.zhyd.oauth\JustAuth\1.16.3\2bcbf77123c43cd764d4cbece1eb064e53fae066\JustAuth-1.16.3.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.javassist\javassist\3.23.0-GA\5c71cd6815cc207379639aca8c88478b7e959e35\javassist-3.23.0-GA.jar;C:\Users\shimh\.m2\repository\org\owasp\esapi\esapi\2.2.0.0\esapi-2.2.0.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.sun.mail\javax.mail\1.6.2\935151eb71beff17a2ffac15dd80184a99a0514f\javax.mail-1.6.2.jar;C:\Users\shimh\.m2\repository\org\eclipse\persistence\javax.persistence\2.2.1\javax.persistence-2.2.1.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\jakarta.persistence\jakarta.persistence-api\3.0.0\affc7884a85b6876d438a88b5d21ea29b1cc2dd8\jakarta.persistence-api-3.0.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\jakarta.annotation\jakarta.annotation-api\2.0.0\f3cd84cc45f583a0fdc42a8156d6c5b98d625c1a\jakarta.annotation-api-2.0.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\jakarta.validation\jakarta.validation-api\3.0.0\8c8eecc40da64037d7731356511c568d466f8480\jakarta.validation-api-3.0.0.jar;C:\Users\shimh\.m2\repository\javax\activation\activation\1.1.1\activation-1.1.1.jar;C:\Users\shimh\.m2\repository\javax\annotation\javax.annotation-api\1.3.2\javax.annotation-api-1.3.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\javax.transaction\jta\1.1\2ca09f0b36ca7d71b762e14ea2ff09d5eac57558\jta-1.1.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\javax.transaction\javax.transaction-api\1.3\e006adf5cf3cca2181d16bd640ecb80148ec0fce\javax.transaction-api-1.3.jar;C:\Users\shimh\.m2\repository\javax\validation\validation-api\2.0.1.Final\validation-api-2.0.1.Final.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\javax.xml\jsr173\1.0\8b7a70786148944ef061fca58b5467d05dae07ba\jsr173-1.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\javax.xml.bind\jaxb-api\2.3.1\8531ad5ac454cc2deb9d4d32c40c4d7451939b5d\jaxb-api-2.3.1.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.sun.xml.bind\jaxb-core\2.3.0.1\23574ca124d0a694721ce3ef13cd720095f18fdd\jaxb-core-2.3.0.1.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.sun.xml.bind\jaxb-impl\2.3.2\9d70d9b54cbc91b0e647d97af87395f39ea189f9\jaxb-impl-2.3.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.sun.xml.bind\jaxb-xjc\2.3.2\264a255681ebe9f9e955182c7922a34b5f7c4578\jaxb-xjc-2.3.2.jar;C:\Users\shimh\.m2\repository\org\bouncycastle\bcpkix-jdk15on\1.64\bcpkix-jdk15on-1.64.jar;C:\Users\shimh\.m2\repository\org\bouncycastle\bcprov-jdk15on\1.64\bcprov-jdk15on-1.64.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.bouncycastle\bcprov-ext-jdk15on\1.64\c12b7f2f963c7601d2bf85e73cef0c3d37c285bc\bcprov-ext-jdk15on-1.64.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.google.crypto.tink\tink\1.4.0\ffa0c1929461b34478f340b7a362244b9638a439\tink-1.4.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.jhlabs\filters\2.0.235-1\fff65ebe39d1097cee431087858b3caf957ecfb7\filters-2.0.235-1.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.github.penggle\kaptcha\2.3.2\a3e13fd05bae905d67eafb40b712a1b624daef3b\kaptcha-2.3.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.google.code.gson\gson\2.8.7\69d9503ea0a40ee16f0bcdac7e3eaf83d0fa914a\gson-2.8.7.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.reactivestreams\reactive-streams\1.0.3\d9fb7a7926ffa635b3dcaa5049fb2bfa25b3e7d0\reactive-streams-1.0.3.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\io.projectreactor\reactor-core\3.4.9\820332aa7b0fe3a8dfe14f58fc16e49ad178291\reactor-core-3.4.9.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\eu.tekul\szxcvbn_2.9.2\0.2\cfac462aed38c7c0267a06993a3e3c2656807aae\szxcvbn_2.9.2-0.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.quartz-scheduler\quartz\2.3.2\18a6d6b5a40b77bd060b34cb9f2acadc4bae7c8a\quartz-2.3.2.jar;C:\Users\shimh\.m2\repository\mysql\mysql-connector-java\8.0.21\mysql-connector-java-8.0.21.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.postgresql\postgresql\42.2.20\36cc2142f46e8f4b77ffc1840ada1ba33d96324f\postgresql-42.2.20.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.alibaba\druid\1.2.6\c06ad210f56d63ebac26f5508c2ba75e3e4f0ed4\druid-1.2.6.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.alibaba\druid-spring-boot-starter\1.2.6\28810b3da562b2e9eee21ef5280ea166ae17d409\druid-spring-boot-starter-1.2.6.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\redis.clients\jedis\3.6.3\74b7e8963b1f40e00097869a1d72f04626f1ac72\jedis-3.6.3.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.ehcache\ehcache\3.9.5\6a1393809ab560929de723cb23248d8c82edb6a9\ehcache-3.9.5.jar;C:\Users\shimh\.m2\repository\org\mybatis\mybatis\3.5.7\mybatis-3.5.7.jar;C:\Users\shimh\.m2\repository\org\mybatis\mybatis-spring\2.0.6\mybatis-spring-2.0.6.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.hibernate.validator\hibernate-validator\6.2.0.Final\d6b0760dfffbf379cedd02f715ff4c9a2e215921\hibernate-validator-6.2.0.Final.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.hibernate.validator\hibernate-validator-annotation-processor\6.2.0.Final\12cfe563dfc56a0f7e767b290e5d9979a6f3e615\hibernate-validator-annotation-processor-6.2.0.Final.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\joda-time\joda-time\2.10.10\29e8126e31f41e5c12b9fe3a7eb02e704c47d70b\joda-time-2.10.10.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.yaml\snakeyaml\1.29\6d0cdafb2010f1297e574656551d7145240f6e25\snakeyaml-1.29.jar;C:\Users\shimh\.m2\repository\net\sourceforge\nekohtml\nekohtml\1.9.22\nekohtml-1.9.22.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.jdom\jdom\2.0.2\d06c71e0df0ac4b94deb737718580ccce22d92e8\jdom-2.0.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.google.zxing\core\3.4.1\1869da97e9b2b60b5ff2fcaf55899174b93ae25d\core-3.4.1.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.google.guava\guava\30.1.1-jre\87e0fd1df874ea3cbe577702fe6f17068b790fd8\guava-30.1.1-jre.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\ognl\ognl\3.2.14\18178dd7cfcb8b81c262c072b60a5bf701073917\ognl-3.2.14.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\cglib\cglib\3.3.0\c956b9f9708af5901e9cf05701e9b2b1c25027cc\cglib-3.3.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm\7.3.1\7ec32f922315924e82bf58b36ee1b673b2a9b820\asm-7.3.1.jar;C:\Users\shimh\.m2\repository\aopalliance\aopalliance\1.0\aopalliance-1.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.aspectj\aspectjtools\1.9.4\b907e51a8a6820926785b8933be3de4a021da90b\aspectjtools-1.9.4.jar;C:\Users\shimh\.m2\repository\dom4j\dom4j\1.6.1\dom4j-1.6.1.jar;C:\Users\shimh\.m2\repository\xalan\serializer\2.7.2\serializer-2.7.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\xml-resolver\xml-resolver\1.2\3d0f97750b3a03e0971831566067754ba4bfd68c\xml-resolver-1.2.jar;C:\Users\shimh\.m2\repository\org\apache\santuario\xmlsec\1.5.8\xmlsec-1.5.8.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.ogce\xpp3\1.1.6\dc87e00ddb69341b46a3eb1c331c6fcebf6c8546\xpp3-1.1.6.jar;C:\Users\shimh\.m2\repository\com\thoughtworks\xstream\xstream\1.4.10\xstream-1.4.10.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.passay\passay\1.6.0\a7cafb7cdfc89db3a423c817259354e17d1776da\passay-1.6.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\io.micrometer\micrometer-core\1.6.4\f91b9be9301947483ee3ab7f0874c1dad3cb04f7\micrometer-core-1.6.4.jar;C:\Users\shimh\.m2\repository\org\latencyutils\LatencyUtils\2.0.3\LatencyUtils-2.0.3.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.codehaus.woodstox\stax2-api\4.2.1\a3f7325c52240418c2ba257b103c3c550e140c83\stax2-api-4.2.1.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.reflections\reflections\0.9.11\4c686033d918ec1727e329b7222fcb020152e32b\reflections-0.9.11.jar;C:\Users\shimh\.m2\repository\io\prometheus\simpleclient\0.5.0\simpleclient-0.5.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.aliyun\aliyun-java-sdk-core\4.5.1\eab719bdb3a1961fd07f3053888f9510f08a48d\aliyun-java-sdk-core-4.5.1.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.tencentcloudapi\tencentcloud-sdk-java\3.1.33\126415506014ecb679cb004ee1028bf8da1a75c5\tencentcloud-sdk-java-3.1.33.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-databind\2.12.4\69206e02e6a696034f06a59d3ddbfbba5a4cd81\jackson-databind-2.12.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-core\2.12.4\6a1bd259b6c4e3f9219ec8ec0be55ed11eed0c\jackson-core-2.12.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-annotations\2.12.4\752cf9a2562ac2c012e48057e3a4c17dad66c66e\jackson-annotations-2.12.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.datatype\jackson-datatype-jdk8\2.12.4\858a1e1b677cbafd3b100d5154f491a7051401c\jackson-datatype-jdk8-2.12.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.datatype\jackson-datatype-jsr310\2.12.4\b1174c05d4ded121a7eaeed3f148709f9585b981\jackson-datatype-jsr310-2.12.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.dataformat\jackson-dataformat-yaml\2.12.4\2a3cecd4c46a51ebf3bf92ccf229a07f7ef09d86\jackson-dataformat-yaml-2.12.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.dataformat\jackson-dataformat-xml\2.12.4\15c743856696c0239f2c51d8d19d9f97f034713\jackson-dataformat-xml-2.12.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.module\jackson-module-parameter-names\2.12.4\87c4e9a3302f0fafe4e5587f9c27d22847d8fe00\jackson-module-parameter-names-2.12.4.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.fasterxml\classmate\1.5.0\bc2d1d55f28e6dc0801d86cbd195debd81090d33\classmate-1.5.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.alibaba\fastjson\1.2.78\119651d0f0d9cd5bfb35e8885a447e957cdc3a29\fastjson-1.2.78.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\org.mapstruct\mapstruct\1.4.1.Final\9f87c0a8e5ee39ced552f6a257a425a4798600ca\mapstruct-1.4.1.Final.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\io.swagger\swagger-annotations\1.6.2\313913e603eaf3bb2c3b05079046ec07bb61f8c6\swagger-annotations-1.6.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\io.swagger\swagger-models\1.6.2\887697058d8464462e8fd6d23c8461e90aec8c08\swagger-models-1.6.2.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\io.swagger.core.v3\swagger-annotations\2.1.10\1eec58d3db42dcefac76fa47211812c4782b1342\swagger-annotations-2.1.10.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\io.swagger.core.v3\swagger-core\2.1.10\2400f32e387ade9ca015552d9ac23d1139c9884d\swagger-core-2.1.10.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\io.swagger.core.v3\swagger-integration\2.1.10\1b1080f45e949cef4ad6a2ea083d8675ba50d056\swagger-integration-2.1.10.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\io.swagger.core.v3\swagger-models\2.1.10\e577371a45e67ee22fa3b31675ff8a333054de4b\swagger-models-2.1.10.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\io.springfox\springfox-bean-validators\3.0.0\80c646fdebe5f2b2b337a5a686e540fee0b7304f\springfox-bean-validators-3.0.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\io.springfox\springfox-core\3.0.0\7c3367ce577c8acd9bf64c74488c9269253516c9\springfox-core-3.0.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\io.springfox\springfox-data-rest\3.0.0\40f5e834d6696ae1d3212fa5a2d5e1ec406bedc0\springfox-data-rest-3.0.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\io.springfox\springfox-spi\3.0.0\bae0b820d4b5a922063d34a42aaf4f763308b828\springfox-spi-3.0.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\io.springfox\springfox-oas\3.0.0\e7bc9c1319cf1b64ae714a249c3db3b8fe01e42b\springfox-oas-3.0.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\io.springfox\springfox-schema\3.0.0\32c5d6965617830ef6480fadb9030008945bcd9c\springfox-schema-3.0.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\io.springfox\springfox-swagger2\3.0.0\7bcb18d496576eff76ef7bb72684e149cbb75c1d\springfox-swagger2-3.0.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\io.springfox\springfox-swagger-ui\3.0.0\1e665fbe22148f7c36fa8a08e515a0047cd4390b\springfox-swagger-ui-3.0.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\io.springfox\springfox-swagger-common\3.0.0\2e2fae840984cfcabfd50e1b4b1c23422135ba12\springfox-swagger-common-3.0.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\io.springfox\springfox-spring-webmvc\3.0.0\7ed22363fdfd651cd811c0b2391f16bddb91db8b\springfox-spring-webmvc-3.0.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\io.springfox\springfox-spring-web\3.0.0\a76f2fbe805bfd2798e20dc8f2cfbfad554d52da\springfox-spring-web-3.0.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\io.springfox\springfox-spring-webflux\3.0.0\efccbcfe1d23f2ba520bd87cc156bf2b81f3568e\springfox-spring-webflux-3.0.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\io.springfox\springfox-boot-starter\3.0.0\5486365e263f8acca014b97efa50c3419d58e8f6\springfox-boot-starter-3.0.0.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.github.xiaoymin\knife4j-annotations\3.0.3\e814d0d192d9b1ad306537dbe74e29af14e991e6\knife4j-annotations-3.0.3.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.github.xiaoymin\knife4j-core\3.0.3\b5eba57b65f905dea6b4bd56ba4ebe7044b63585\knife4j-core-3.0.3.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.github.xiaoymin\knife4j-spring-mvc\3.0.3\7f18f32504cd2773e4366d8f54050aa454f2223\knife4j-spring-mvc-3.0.3.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.github.xiaoymin\knife4j-spring\3.0.3\f98ce132857d7d84acb6d51c9eca71dc572678cd\knife4j-spring-3.0.3.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.github.xiaoymin\knife4j-spring-ui\3.0.3\7967bc0fde5e52047c776ec9a1c548322779f42\knife4j-spring-ui-3.0.3.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.github.xiaoymin\knife4j-spring-boot-starter\3.0.3\1be417f97528ac35dc77d5406fdf7f84b81186c6\knife4j-spring-boot-starter-3.0.3.jar;C:\Users\shimh\.gradle\caches\modules-2\files-2.1\com.github.xiaoymin\knife4j-spring-boot-autoconfigure\3.0.3\c86fca99f7758738e9c182130047403a8d01aac7\knife4j-spring-boot-autoconfigure-3.0.3.jar;D:\MaxKey\Workspaces\maxkey\MaxKey\maxkey-lib\hgjdbc-6.0.4-jdbc42.jar;D:\MaxKey\Workspaces\maxkey\MaxKey\maxkey-lib\maxkey-client-sdk-2.0.0.RELEASE.jar;D:\MaxKey\Workspaces\maxkey\MaxKey\maxkey-lib\mybatis-jpa-extra-2.4.jar;D:\MaxKey\Workspaces\maxkey\MaxKey\maxkey-lib\mybatis-jpa-extra-spring-boot-starter-2.4.jar;D:\MaxKey\Workspaces\maxkey\MaxKey\maxkey-lib\not-yet-commons-ssl-0.3.9.jar;D:\MaxKey\Workspaces\maxkey\MaxKey\maxkey-lib\taobao-sdk-java-auto_1479188381469-20210326.jar \ No newline at end of file diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/MaxKeyApplication.java b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/MaxKeyApplication.java index db3fc5735..ce968b6e8 100644 --- a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/MaxKeyApplication.java +++ b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/MaxKeyApplication.java @@ -31,9 +31,11 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.context.ConfigurableApplicationContext; @SpringBootApplication +@EnableDiscoveryClient @MapperScan("org.maxkey.persistence.mapper,") public class MaxKeyApplication extends SpringBootServletInitializer { private static final Logger _logger = LoggerFactory.getLogger(MaxKeyApplication.class); diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/MaxKeyConfig.java b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/MaxKeyConfig.java index 640ec6cf1..41258a2af 100644 --- a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/MaxKeyConfig.java +++ b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/MaxKeyConfig.java @@ -37,7 +37,6 @@ import org.maxkey.authn.support.kerberos.RemoteKerberosService; import org.maxkey.authn.support.rememberme.AbstractRemeberMeService; import org.maxkey.configuration.EmailConfig; import org.maxkey.constants.ConstantsPersistence; -import org.maxkey.constants.ConstantsProperties; import org.maxkey.password.onetimepwd.AbstractOtpAuthn; import org.maxkey.password.onetimepwd.algorithm.KeyUriFormat; import org.maxkey.password.onetimepwd.impl.MailOtpAuthn; @@ -61,14 +60,12 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.PropertySource; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.security.crypto.password.PasswordEncoder; @Configuration -@PropertySource(ConstantsProperties.applicationPropertySource) @ComponentScan(basePackages = { "org.maxkey.configuration", "org.maxkey.domain", @@ -172,7 +169,7 @@ public class MaxKeyConfig implements InitializingBean { @Value("${maxkey.support.ldap.credentials}")String credentials, @Value("${maxkey.support.ldap.filter}")String filter, @Value("${maxkey.support.ldap.basedn}")String baseDN, - @Value("${maxkey.support.ldap.domain}")String domain, + @Value("${maxkey.support.ldap.activedirectory.domain}")String domain, @Value("${maxkey.support.ldap.product:openldap}")String product) { AbstractAuthenticationRealm ldapAuthenticationRealm = ldapAuthenticationRealm( diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/MaxKeyMvcConfig.java b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/MaxKeyMvcConfig.java index c3942f2f1..7a0a7d050 100644 --- a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/MaxKeyMvcConfig.java +++ b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/MaxKeyMvcConfig.java @@ -25,7 +25,6 @@ import org.maxkey.authn.support.kerberos.KerberosService; import org.maxkey.authn.support.rememberme.AbstractRemeberMeService; import org.maxkey.authn.support.rememberme.HttpRemeberMeEntryPoint; import org.maxkey.configuration.ApplicationConfig; -import org.maxkey.constants.ConstantsProperties; import org.maxkey.web.interceptor.HistoryLoginAppAdapter; import org.maxkey.web.interceptor.HistoryLogsAdapter; import org.maxkey.web.interceptor.PermissionAdapter; @@ -36,7 +35,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.PropertySource; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; @@ -45,7 +43,6 @@ import org.springframework.web.servlet.i18n.LocaleChangeInterceptor; @Configuration @EnableWebMvc -@PropertySource(ConstantsProperties.applicationPropertySource) public class MaxKeyMvcConfig implements WebMvcConfigurer { private static final Logger _logger = LoggerFactory.getLogger(MaxKeyMvcConfig.class); diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/resources/application-http.properties b/maxkey-webs/maxkey-web-maxkey/src/main/resources/application-http.properties index c026067f2..ed8b4286a 100644 --- a/maxkey-webs/maxkey-web-maxkey/src/main/resources/application-http.properties +++ b/maxkey-webs/maxkey-web-maxkey/src/main/resources/application-http.properties @@ -23,7 +23,10 @@ server.port=8080 server.servlet.session.timeout=1800 #server context path server.servlet.context-path=/maxkey - +#nacos +spring.cloud.nacos.discovery.enabled=false +spring.cloud.nacos.discovery.instance-enabled=false +spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 ############################################################################ #domain name configuration # ############################################################################ @@ -34,7 +37,8 @@ maxkey.server.name=${maxkey.server.scheme}://${maxkey.server.domain} maxkey.server.uri=${maxkey.server.name}/maxkey #default.uri maxkey.server.default.uri=${maxkey.server.uri}/maxkey/appList -maxkey.server.management.uri=${maxkey.server.name}:9521/maxkey-mgt/login +maxkey.server.mgt.uri=${maxkey.server.name}:9527/maxkey-mgt/login +maxkey.server.authz.uri=${maxkey.server.name}/maxkey #InMemory 0 , Redis 2 maxkey.server.persistence=0 #identity @@ -112,26 +116,26 @@ mybatis.table-column-case=lowercase ############################################################################ #redis server configuration # ############################################################################ -#spring.redis.host=127.0.0.1 -#spring.redis.port=6379 -#spring.redis.password=password -#spring.redis.timeout=10000 -#spring.redis.jedis.pool.max-wait=1000 -#spring.redis.jedis.pool.max-idle=200 -#spring.redis.lettuce.pool.max-active=-1 -#spring.redis.lettuce.pool.min-idle=0 +spring.redis.host=127.0.0.1 +spring.redis.port=6379 +spring.redis.password=password +spring.redis.timeout=10000 +spring.redis.jedis.pool.max-wait=1000 +spring.redis.jedis.pool.max-idle=200 +spring.redis.lettuce.pool.max-active=-1 +spring.redis.lettuce.pool.min-idle=0 ############################################################################ #mail configuration # ############################################################################ -#spring.mail.default-encoding=utf-8 -#spring.mail.host=smtp.163.com -#spring.mail.port=465 -#spring.mail.username=maxkey@163.com -#spring.mail.password=password -#spring.mail.protocol=smtp -#spring.mail.properties.ssl=true -#spring.mail.properties.sender=maxkey@163.com +spring.mail.default-encoding=utf-8 +spring.mail.host=smtp.163.com +spring.mail.port=465 +spring.mail.username=maxkey@163.com +spring.mail.password=password +spring.mail.protocol=smtp +spring.mail.properties.ssl=true +spring.mail.properties.sender=maxkey@163.com spring.mail.properties.mailotp.message.subject=MaxKey One Time PassWord spring.mail.properties.mailotp.message.template={0} You Token is {1} , it validity in {2} minutes. spring.mail.properties.mailotp.message.type=html diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/resources/application-https.properties b/maxkey-webs/maxkey-web-maxkey/src/main/resources/application-https.properties index c20c23ad7..8f2707a9b 100644 --- a/maxkey-webs/maxkey-web-maxkey/src/main/resources/application-https.properties +++ b/maxkey-webs/maxkey-web-maxkey/src/main/resources/application-https.properties @@ -23,7 +23,10 @@ server.port=443 server.servlet.session.timeout=1800 #server context path server.servlet.context-path=/maxkey - +#nacos +spring.cloud.nacos.discovery.enabled=false +spring.cloud.nacos.discovery.instance-enabled=false +spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 ############################################################################ #domain name configuration # ############################################################################ @@ -34,7 +37,8 @@ maxkey.server.name=${maxkey.server.scheme}://${maxkey.server.domain} maxkey.server.uri=${maxkey.server.name}/maxkey #default.uri maxkey.server.default.uri=${maxkey.server.uri}/maxkey/appList -maxkey.server.management.uri=${maxkey.server.name}:9521/maxkey-mgt/login +maxkey.server.mgt.uri=${maxkey.server.name}:9527/maxkey-mgt/login +maxkey.server.authz.uri=${maxkey.server.name}/maxkey #InMemory 0 , Redis 2 maxkey.server.persistence=0 #identity diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/resources/application.properties b/maxkey-webs/maxkey-web-maxkey/src/main/resources/application.properties index 98d62eb55..ccf9e51de 100644 --- a/maxkey-webs/maxkey-web-maxkey/src/main/resources/application.properties +++ b/maxkey-webs/maxkey-web-maxkey/src/main/resources/application.properties @@ -18,7 +18,13 @@ application.title=MaxKey application.name=MaxKey application.formatted-version=v2.9.0 GA - +#for dynamic service discovery +spring.application.name=maxkey +############################################################################ +#Main.banner-mode configuration # +############################################################################ +spring.main.banner-mode=log +spring.main.allow-bean-definition-overriding=true ############################################################################ #spring.profiles.active https/http; default https # ############################################################################ diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/resources/bootstrap.properties b/maxkey-webs/maxkey-web-maxkey/src/main/resources/bootstrap.properties new file mode 100644 index 000000000..940ff1139 --- /dev/null +++ b/maxkey-webs/maxkey-web-maxkey/src/main/resources/bootstrap.properties @@ -0,0 +1,12 @@ +spring.cloud.nacos.config.server-addr=127.0.0.1:8848 + +# Nacos \u63A7\u5236\u53F0\u6DFB\u52A0\u914D\u7F6E\uFF1A +# Data ID\uFF1Amaxkey.properties +# Group\uFF1ADEFAULT_GROUP +# \u914D\u7F6E\u5185\u5BB9\uFF1AuseLocalCache=true +spring.application.name=maxkey +# \u6307\u5B9A\u914D\u7F6E\u7684\u540E\u7F00\uFF0C\u652F\u6301 properties\u3001yaml\u3001yml\uFF0C\u9ED8\u8BA4\u4E3A properties +spring.cloud.nacos.config.file-extension=properties +#spring.cloud.nacos.config.file-extension=yaml +#\u662F\u5426\u542F\u7528nacos\u914D\u7F6E +spring.cloud.nacos.config.enabled=false \ No newline at end of file diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/resources/log4j2.xml b/maxkey-webs/maxkey-web-maxkey/src/main/resources/log4j2.xml index 9987fcc7e..918bf4498 100644 --- a/maxkey-webs/maxkey-web-maxkey/src/main/resources/log4j2.xml +++ b/maxkey-webs/maxkey-web-maxkey/src/main/resources/log4j2.xml @@ -23,6 +23,7 @@ + diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/MaxKeyMgtApplication.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/MaxKeyMgtApplication.java index 9cf2f7f74..9c1c344bf 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/MaxKeyMgtApplication.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/MaxKeyMgtApplication.java @@ -28,6 +28,7 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.ComponentScan; @@ -55,6 +56,7 @@ import org.springframework.context.annotation.ComponentScan; }) @MapperScan("org.maxkey.persistence.mapper,") @SpringBootApplication +@EnableDiscoveryClient public class MaxKeyMgtApplication extends SpringBootServletInitializer { private static final Logger _logger = LoggerFactory.getLogger(MaxKeyMgtApplication.class); diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/MaxKeyMgtConfig.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/MaxKeyMgtConfig.java index ff9e3655e..e82dac9ac 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/MaxKeyMgtConfig.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/MaxKeyMgtConfig.java @@ -24,7 +24,6 @@ import org.maxkey.authz.oauth2.provider.token.TokenStore; import org.maxkey.authz.oauth2.provider.token.store.InMemoryTokenStore; import org.maxkey.authz.oauth2.provider.token.store.JdbcTokenStore; import org.maxkey.authz.oauth2.provider.token.store.RedisTokenStore; -import org.maxkey.constants.ConstantsProperties; import org.maxkey.jobs.DynamicGroupsJob; import org.maxkey.password.onetimepwd.AbstractOtpAuthn; import org.maxkey.password.onetimepwd.impl.TimeBasedOtpAuthn; @@ -51,13 +50,11 @@ import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.PropertySource; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.scheduling.quartz.SchedulerFactoryBean; import org.springframework.security.crypto.password.PasswordEncoder; @Configuration -@PropertySource(ConstantsProperties.applicationPropertySource) public class MaxKeyMgtConfig implements InitializingBean { private static final Logger _logger = LoggerFactory.getLogger(MaxKeyMgtConfig.class); diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/SAML20DetailsController.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/SAML20DetailsController.java index 06e911a85..8de85d5ba 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/SAML20DetailsController.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/SAML20DetailsController.java @@ -108,7 +108,7 @@ public class SAML20DetailsController extends BaseAppContorller { decoderSecret(saml20Details); WebContext.setAttribute(saml20Details.getId(), saml20Details.getIcon()); modelAndView.addObject("model",saml20Details); - modelAndView.addObject("maxKeyURI",applicationConfig.getMaxKeyUri()); + modelAndView.addObject("authzURI",applicationConfig.getAuthzUri()); return modelAndView; } /** diff --git a/maxkey-webs/maxkey-web-mgt/src/main/resources/application-http.properties b/maxkey-webs/maxkey-web-mgt/src/main/resources/application-http.properties index 44d5d7c9d..90cc7bf0b 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/resources/application-http.properties +++ b/maxkey-webs/maxkey-web-mgt/src/main/resources/application-http.properties @@ -19,7 +19,10 @@ server.port=9527 #server context path server.servlet.context-path=/maxkey-mgt - +#nacos +spring.cloud.nacos.discovery.enabled=false +spring.cloud.nacos.discovery.instance-enabled=false +spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 ############################################################################ #domain name configuration # ############################################################################ @@ -30,7 +33,8 @@ maxkey.server.name=${maxkey.server.scheme}://${maxkey.server.domain} maxkey.server.uri=${maxkey.server.name}:9527/maxkey-mgt #default.uri maxkey.server.default.uri=${maxkey.server.uri}/main -maxkey.maxkey.uri=https://${maxkey.server.domain}/maxkey +maxkey.server.mgt.uri=${maxkey.server.name}:9527/maxkey-mgt +maxkey.server.authz.uri=https://${maxkey.server.domain}/maxkey #InMemory 0 , Redis 2 maxkey.server.persistence=0 #identity @@ -96,26 +100,26 @@ mybatis.table-column-case=lowercase ############################################################################ #redis server configuration # ############################################################################ -#spring.redis.host=127.0.0.1 -#spring.redis.port=6379 -#spring.redis.password=password -#spring.redis.timeout=10000 -#spring.redis.jedis.pool.max-wait=1000 -#spring.redis.jedis.pool.max-idle=200 -#spring.redis.lettuce.pool.max-active=-1 -#spring.redis.lettuce.pool.min-idle=0 +spring.redis.host=127.0.0.1 +spring.redis.port=6379 +spring.redis.password=password +spring.redis.timeout=10000 +spring.redis.jedis.pool.max-wait=1000 +spring.redis.jedis.pool.max-idle=200 +spring.redis.lettuce.pool.max-active=-1 +spring.redis.lettuce.pool.min-idle=0 ############################################################################ #mail configuration # ############################################################################ -#spring.mail.default-encoding=utf-8 -#spring.mail.host=smtp.163.com -#spring.mail.port=465 -#spring.mail.username=maxkey@163.com -#spring.mail.password=password -#spring.mail.protocol=smtp -#spring.mail.properties.ssl=true -#spring.mail.properties.sender=maxkey@163.com +spring.mail.default-encoding=utf-8 +spring.mail.host=smtp.163.com +spring.mail.port=465 +spring.mail.username=maxkey@163.com +spring.mail.password=password +spring.mail.protocol=smtp +spring.mail.properties.ssl=true +spring.mail.properties.sender=maxkey@163.com ############################################################################ #Spring Session configuration # diff --git a/maxkey-webs/maxkey-web-mgt/src/main/resources/application.properties b/maxkey-webs/maxkey-web-mgt/src/main/resources/application.properties index 623573f58..b46da39da 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/resources/application.properties +++ b/maxkey-webs/maxkey-web-mgt/src/main/resources/application.properties @@ -18,7 +18,13 @@ application.title=MaxKey application.name=MaxKey-Mgt application.formatted-version=v2.9.0 GA - +#for dynamic service discovery +spring.application.name=maxkey-mgt +############################################################################ +#Main.banner-mode configuration # +############################################################################ +spring.main.banner-mode=log +spring.main.allow-bean-definition-overriding=true ############################################################################ #spring.profiles.active http; default http # ############################################################################ diff --git a/maxkey-webs/maxkey-web-mgt/src/main/resources/bootstrap.properties b/maxkey-webs/maxkey-web-mgt/src/main/resources/bootstrap.properties new file mode 100644 index 000000000..7c4c606de --- /dev/null +++ b/maxkey-webs/maxkey-web-mgt/src/main/resources/bootstrap.properties @@ -0,0 +1,12 @@ +spring.cloud.nacos.config.server-addr=127.0.0.1:8848 + +# Nacos \u63A7\u5236\u53F0\u6DFB\u52A0\u914D\u7F6E\uFF1A +# Data ID\uFF1Amaxkey-mgt.properties +# Group\uFF1ADEFAULT_GROUP +# \u914D\u7F6E\u5185\u5BB9\uFF1A +spring.application.name=maxkey-mgt +# \u6307\u5B9A\u914D\u7F6E\u7684\u540E\u7F00\uFF0C\u652F\u6301 properties\u3001yaml\u3001yml\uFF0C\u9ED8\u8BA4\u4E3A properties +spring.cloud.nacos.config.file-extension=properties +#spring.cloud.nacos.config.file-extension=yaml +#\u662F\u5426\u542F\u7528nacos\u914D\u7F6E +spring.cloud.nacos.config.enabled=false \ No newline at end of file diff --git a/maxkey-webs/maxkey-web-mgt/src/main/resources/log4j2.xml b/maxkey-webs/maxkey-web-mgt/src/main/resources/log4j2.xml index 9ce9f649e..e6843e23f 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/resources/log4j2.xml +++ b/maxkey-webs/maxkey-web-mgt/src/main/resources/log4j2.xml @@ -24,6 +24,7 @@ + diff --git a/maxkey-webs/maxkey-web-mgt/src/main/resources/templates/views/apps/saml20/appUpdate.ftl b/maxkey-webs/maxkey-web-mgt/src/main/resources/templates/views/apps/saml20/appUpdate.ftl index 46620c038..6307c8268 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/resources/templates/views/apps/saml20/appUpdate.ftl +++ b/maxkey-webs/maxkey-web-mgt/src/main/resources/templates/views/apps/saml20/appUpdate.ftl @@ -55,7 +55,7 @@ - SAML MetaData + SAML MetaData -- GitLab