diff --git a/build.gradle b/build.gradle index 8c1452ae2..d73be8f26 100644 --- a/build.gradle +++ b/build.gradle @@ -28,7 +28,7 @@ ext { def libjarsmapper=[ 'maxkey-authentication-captcha' :'lib', 'maxkey-authentication-core' :'lib', - 'maxkey-authentication-ip2region' :'lib', + 'maxkey-authentication-ip2location' :'lib', 'maxkey-authentication-otp' :'lib', 'maxkey-authentication-provider' :'lib', 'maxkey-authentication-sms' :'lib', diff --git a/gradle.properties b/gradle.properties index 321169dc0..689287fe8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,7 +15,7 @@ # */ #maxkey properties group =org.dromara.maxkey -version =4.0.1 +version =4.0.2 vendor =https://www.maxkey.top author =MaxKeyTop diff --git a/maxkey-core/src/main/java/org/dromara/maxkey/autoconfigure/ApplicationAutoConfiguration.java b/maxkey-core/src/main/java/org/dromara/maxkey/autoconfigure/ApplicationAutoConfiguration.java index 9877fa75c..3024a4d39 100644 --- a/maxkey-core/src/main/java/org/dromara/maxkey/autoconfigure/ApplicationAutoConfiguration.java +++ b/maxkey-core/src/main/java/org/dromara/maxkey/autoconfigure/ApplicationAutoConfiguration.java @@ -89,7 +89,7 @@ public class ApplicationAutoConfiguration implements InitializingBean { @Bean public PasswordEncoder passwordEncoder( @Value("${maxkey.crypto.password.encoder:bcrypt}") String idForEncode) { - Map encoders = new HashMap(); + Map encoders = new HashMap<>(); encoders.put("bcrypt", new BCryptPasswordEncoder()); encoders.put("plain", NoOpPasswordEncoder.getInstance()); encoders.put("pbkdf2", Pbkdf2PasswordEncoder.defaultsForSpringSecurity_v5_8()); @@ -174,8 +174,8 @@ public class ApplicationAutoConfiguration implements InitializingBean { @Value("${maxkey.id.datacenterId:0}") int datacenterId, @Value("${maxkey.id.machineId:0}") int machineId) { IdGenerator idGenerator = new IdGenerator(strategy); - SnowFlakeId SnowFlakeId = new SnowFlakeId(datacenterId,machineId); - idGenerator.setSnowFlakeId(SnowFlakeId); + SnowFlakeId snowFlakeId = new SnowFlakeId(datacenterId,machineId); + idGenerator.setSnowFlakeId(snowFlakeId); WebContext.idGenerator = idGenerator; return idGenerator; } @@ -184,14 +184,13 @@ public class ApplicationAutoConfiguration implements InitializingBean { @Bean public MomentaryService momentaryService( RedisConnectionFactory redisConnFactory, - @Value("${maxkey.server.persistence}") int persistence) throws JOSEException { + @Value("${maxkey.server.persistence}") int persistence) { MomentaryService momentaryService; if (persistence == ConstsPersistence.REDIS) { momentaryService = new RedisMomentaryService(redisConnFactory); }else { momentaryService = new InMemoryMomentaryService(); } - return momentaryService; } diff --git a/maxkey-core/src/main/java/org/dromara/maxkey/autoconfigure/MvcAutoConfiguration.java b/maxkey-core/src/main/java/org/dromara/maxkey/autoconfigure/MvcAutoConfiguration.java index 6f1e1761e..400b572bf 100644 --- a/maxkey-core/src/main/java/org/dromara/maxkey/autoconfigure/MvcAutoConfiguration.java +++ b/maxkey-core/src/main/java/org/dromara/maxkey/autoconfigure/MvcAutoConfiguration.java @@ -75,11 +75,10 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer public ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource( @Value("${spring.messages.basename:classpath:messages/message}") String messagesBasename) { - _logger.debug("Basename " + messagesBasename); + _logger.debug("Basename {}" , messagesBasename); String passwordPolicyMessagesBasename="classpath:messages/passwordpolicy_message"; - ReloadableResourceBundleMessageSource messageSource = - new ReloadableResourceBundleMessageSource(); + ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource(); messageSource.setBasenames(messagesBasename,passwordPolicyMessagesBasename); messageSource.setUseCodeAsDefaultMessage(false); return messageSource; @@ -92,27 +91,11 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer //@Primary @Bean (name = "localeChangeInterceptor") public LocaleChangeInterceptor localeChangeInterceptor() { - LocaleChangeInterceptor localeChangeInterceptor = - new LocaleChangeInterceptor(); + LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor(); localeChangeInterceptor.setParamName("language"); return localeChangeInterceptor; } - /** - * upload file support . - * @return multipartResolver - */ - /* - @Bean (name = "multipartResolver") - public CommonsMultipartResolver commonsMultipartResolver( - @Value("${spring.servlet.multipart.max-file-size:0}") int maxUploadSize) { - _logger.debug("maxUploadSize " + maxUploadSize); - CommonsMultipartResolver multipartResolver = - new CommonsMultipartResolver(); - multipartResolver.setMaxUploadSize(maxUploadSize); - return multipartResolver; - }*/ - /** * handlerMapping . * @return handlerMapping @@ -120,8 +103,7 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer @Bean (name = "handlerMapping") public RequestMappingHandlerMapping requestMappingHandlerMapping( LocaleChangeInterceptor localeChangeInterceptor) { - RequestMappingHandlerMapping requestMappingHandlerMapping = - new RequestMappingHandlerMapping(); + RequestMappingHandlerMapping requestMappingHandlerMapping = new RequestMappingHandlerMapping(); requestMappingHandlerMapping.setInterceptors(localeChangeInterceptor); return requestMappingHandlerMapping; } @@ -144,15 +126,14 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer @Bean (name = "marshallingHttpMessageConverter") public MarshallingHttpMessageConverter marshallingHttpMessageConverter( Jaxb2Marshaller jaxb2Marshaller) { - MarshallingHttpMessageConverter marshallingHttpMessageConverter = - new MarshallingHttpMessageConverter(); + MarshallingHttpMessageConverter marshallingHttpMessageConverter = new MarshallingHttpMessageConverter(); marshallingHttpMessageConverter.setMarshaller(jaxb2Marshaller); marshallingHttpMessageConverter.setUnmarshaller(jaxb2Marshaller); - ArrayList mediaTypesList = new ArrayList(); + ArrayList mediaTypesList = new ArrayList<>(); mediaTypesList.add(MediaType.APPLICATION_XML); mediaTypesList.add(MediaType.TEXT_XML); mediaTypesList.add(MediaType.TEXT_PLAIN); - _logger.debug("marshallingHttpMessageConverter MediaTypes " + mediaTypesList); + _logger.debug("marshallingHttpMessageConverter MediaTypes {}" , mediaTypesList); marshallingHttpMessageConverter.setSupportedMediaTypes(mediaTypesList); return marshallingHttpMessageConverter; } @@ -163,14 +144,13 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer */ @Bean (name = "mappingJacksonHttpMessageConverter") public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() { - MappingJackson2HttpMessageConverter mappingJacksonHttpMessageConverter = - new MappingJackson2HttpMessageConverter(); - ArrayList mediaTypesList = new ArrayList(); + MappingJackson2HttpMessageConverter mappingJacksonHttpMessageConverter = new MappingJackson2HttpMessageConverter(); + ArrayList mediaTypesList = new ArrayList<>(); mediaTypesList.add(MediaType.APPLICATION_JSON); mediaTypesList.add(MediaType.valueOf(ApiVersion.V2.getProducedMimeType().toString())); mediaTypesList.add(MediaType.valueOf(ApiVersion.V3.getProducedMimeType().toString())); //mediaTypesList.add(MediaType.TEXT_PLAIN); - _logger.debug("mappingJacksonHttpMessageConverter MediaTypes " + mediaTypesList); + _logger.debug("mappingJacksonHttpMessageConverter MediaTypes {}" , mediaTypesList); mappingJacksonHttpMessageConverter.setSupportedMediaTypes(mediaTypesList); return mappingJacksonHttpMessageConverter; } @@ -185,7 +165,7 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer @Value("${maxkey.server.domain:maxkey.top}") String domainName ) { - _logger.debug("DomainName " + domainName); + _logger.debug("DomainName {}" , domainName); CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver(); cookieLocaleResolver.setCookieName("mxk_locale"); cookieLocaleResolver.setCookieDomain(domainName); @@ -204,8 +184,7 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer MarshallingHttpMessageConverter marshallingHttpMessageConverter, StringHttpMessageConverter stringHttpMessageConverter, RequestMappingHandlerAdapter requestMappingHandlerAdapter) { - List> httpMessageConverterList = - new ArrayList>(); + List> httpMessageConverterList = new ArrayList<>(); httpMessageConverterList.add(mappingJacksonHttpMessageConverter); httpMessageConverterList.add(marshallingHttpMessageConverter); httpMessageConverterList.add(stringHttpMessageConverter); @@ -224,8 +203,7 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer MappingJackson2HttpMessageConverter mappingJacksonHttpMessageConverter, MarshallingHttpMessageConverter marshallingHttpMessageConverter) { RestTemplate restTemplate = new RestTemplate(); - List> httpMessageConverterList = - new ArrayList>(); + List> httpMessageConverterList = new ArrayList<>(); httpMessageConverterList.add(mappingJacksonHttpMessageConverter); httpMessageConverterList.add(marshallingHttpMessageConverter); restTemplate.setMessageConverters(httpMessageConverterList); @@ -279,7 +257,7 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer @Bean public FilterRegistrationBean delegatingFilterProxy() { _logger.debug("delegatingFilterProxy init for /* "); - FilterRegistrationBean registrationBean = new FilterRegistrationBean(); + FilterRegistrationBean registrationBean = new FilterRegistrationBean<>(); registrationBean.setFilter(new DelegatingFilterProxy("securityContextHolderAwareRequestFilter")); registrationBean.addUrlPatterns("/*"); //registrationBean. @@ -292,7 +270,7 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer @Bean public FilterRegistrationBean webXssRequestFilter() { _logger.debug("webXssRequestFilter init for /* "); - FilterRegistrationBean registrationBean = new FilterRegistrationBean(new WebXssRequestFilter()); + FilterRegistrationBean registrationBean = new FilterRegistrationBean<>(new WebXssRequestFilter()); registrationBean.addUrlPatterns("/*"); registrationBean.setName("webXssRequestFilter"); registrationBean.setOrder(3); @@ -300,12 +278,12 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer } @Bean - public FilterRegistrationBean WebInstRequestFilter( + public FilterRegistrationBean webInstRequestFilter( InstitutionsRepository institutionsRepository, ApplicationConfig applicationConfig) { _logger.debug("WebInstRequestFilter init for /* "); FilterRegistrationBean registrationBean = - new FilterRegistrationBean(new WebInstRequestFilter(institutionsRepository,applicationConfig)); + new FilterRegistrationBean<>(new WebInstRequestFilter(institutionsRepository,applicationConfig)); registrationBean.addUrlPatterns("/*"); registrationBean.setName("webInstRequestFilter"); registrationBean.setOrder(4); diff --git a/maxkey-core/src/main/java/org/dromara/maxkey/configuration/ApplicationConfig.java b/maxkey-core/src/main/java/org/dromara/maxkey/configuration/ApplicationConfig.java index 0800f80d8..0ad3afb22 100644 --- a/maxkey-core/src/main/java/org/dromara/maxkey/configuration/ApplicationConfig.java +++ b/maxkey-core/src/main/java/org/dromara/maxkey/configuration/ApplicationConfig.java @@ -201,10 +201,7 @@ public class ApplicationConfig { } public boolean isProvisionSupport() { - if(provision) { - return true; - } - return false; + return provision; } public String getMgtUri() { diff --git a/maxkey-core/src/main/java/org/dromara/maxkey/web/InitializeContext.java b/maxkey-core/src/main/java/org/dromara/maxkey/web/InitializeContext.java index 715315235..e0839a49f 100644 --- a/maxkey-core/src/main/java/org/dromara/maxkey/web/InitializeContext.java +++ b/maxkey-core/src/main/java/org/dromara/maxkey/web/InitializeContext.java @@ -92,17 +92,14 @@ public class InitializeContext extends HttpServlet { public void listDataBaseVariables() { if (!applicationContext.containsBean("dataSource")) {return;} try { - logger.debug(WebConstants.DELIMITER); - logger.debug("List DatabaseMetaData Variables "); - Connection connection = - ((javax.sql.DataSource) applicationContext.getBean("dataSource")) - .getConnection(); - + logger.info(WebConstants.DELIMITER); + logger.info("List DatabaseMetaData Variables "); + Connection connection = ((javax.sql.DataSource) applicationContext.getBean("dataSource")).getConnection(); DatabaseMetaData databaseMetaData = connection.getMetaData(); ApplicationConfig.databaseProduct = databaseMetaData.getDatabaseProductName(); - logger.debug("DatabaseProductName : {}", databaseMetaData.getDatabaseProductName()); - logger.debug("DatabaseProductVersion: {}" ,databaseMetaData.getDatabaseProductVersion()); + logger.info("DatabaseProductName : {}", databaseMetaData.getDatabaseProductName()); + logger.info("DatabaseProductVersion: {}" ,databaseMetaData.getDatabaseProductVersion()); logger.trace("DatabaseMajorVersion : {}" , databaseMetaData.getDatabaseMajorVersion()); logger.trace("DatabaseMinorVersion : {}" ,databaseMetaData.getDatabaseMinorVersion()); logger.trace("supportsTransactions : {}" , databaseMetaData.supportsTransactions()); @@ -113,13 +110,12 @@ public class InitializeContext extends HttpServlet { logger.trace("JDBCMinorVersion : {}" ,databaseMetaData.getJDBCMinorVersion()); logger.trace("DriverName : {}" ,databaseMetaData.getDriverName()); logger.trace("DriverVersion : {}" ,databaseMetaData.getDriverVersion()); - logger.debug(""); - logger.debug("DBMS URL : {}" ,databaseMetaData.getURL()); - logger.debug("UserName : {}" ,databaseMetaData.getUserName()); - logger.debug(WebConstants.DELIMITER); + logger.info(""); + logger.info("DBMS URL : {}" ,databaseMetaData.getURL()); + logger.info("UserName : {}" ,databaseMetaData.getUserName()); + logger.info(WebConstants.DELIMITER); } catch (SQLException e) { - e.printStackTrace(); logger.error("DatabaseMetaData Variables Error .",e); } } diff --git a/maxkey-core/src/main/java/org/dromara/maxkey/web/WebContext.java b/maxkey-core/src/main/java/org/dromara/maxkey/web/WebContext.java index 2681b9df6..0e72f6434 100644 --- a/maxkey-core/src/main/java/org/dromara/maxkey/web/WebContext.java +++ b/maxkey-core/src/main/java/org/dromara/maxkey/web/WebContext.java @@ -60,14 +60,13 @@ import jakarta.servlet.http.HttpSession; * */ public final class WebContext { - - final static Logger _logger = LoggerFactory.getLogger(WebContext.class); + static final Logger _logger = LoggerFactory.getLogger(WebContext.class); public static StandardEnvironment properties; public static ApplicationContext applicationContext; - public final static String ipAddressRegex = "\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"; + public static final String ipAddressRegex = "\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"; public static ArrayList sessionAttributeNameList = new ArrayList(); @@ -146,7 +145,11 @@ public final class WebContext { }else { return applicationContext.getBean(name,requiredType); } - }; + } + + public static String getProperty(String key) { + return properties.getProperty(key); + } // below method is common HttpServlet method /** @@ -155,13 +158,11 @@ public final class WebContext { * @return HttpServletRequest */ public static HttpServletRequest getRequest() { - return ((ServletRequestAttributes) - RequestContextHolder.getRequestAttributes()).getRequest(); + return ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest(); } public static HttpServletResponse getResponse() { - return ((ServletRequestAttributes) - RequestContextHolder.getRequestAttributes()).getResponse(); + return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse(); } /** @@ -205,14 +206,14 @@ public final class WebContext { Enumeration headerNames = request.getHeaderNames(); while (headerNames.hasMoreElements()) { - String key = (String) headerNames.nextElement(); + String key = headerNames.nextElement(); String value = request.getHeader(key); _logger.info("Header key {} , value {}" , key, value); } Enumeration parameterNames = request.getParameterNames(); while (parameterNames.hasMoreElements()) { - String key = (String) parameterNames.nextElement(); + String key = parameterNames.nextElement(); String value = request.getParameter(key); _logger.info("Parameter {} , value {}",key , value); } @@ -233,7 +234,7 @@ public final class WebContext { * @return HttpSession */ public static HttpSession getSession(boolean create) { - System.out.println("new Session created"); + _logger.info("new Session created"); return getRequest().getSession(create); } @@ -314,7 +315,7 @@ public final class WebContext { } public static Map getRequestParameterMap(HttpServletRequest request) { - Map map = new HashMap(); + Map map = new HashMap<>(); Map parameters = request.getParameterMap(); for (String key : parameters.keySet()) { String[] values = parameters.get(key); @@ -333,8 +334,7 @@ public final class WebContext { public static Cookie getCookie(HttpServletRequest request, String name) { Map cookieMap = getCookieAll(request); if (cookieMap.containsKey(name)) { - Cookie cookie = (Cookie) cookieMap.get(name); - return cookie; + return cookieMap.get(name); } else { return null; } @@ -347,7 +347,7 @@ public final class WebContext { * @return Map */ private static Map getCookieAll(HttpServletRequest request) { - Map cookieMap = new HashMap(); + Map cookieMap = new HashMap<>(); Cookie[] cookies = request.getCookies(); if (null != cookies) { for (Cookie cookie : cookies) { @@ -536,7 +536,7 @@ public final class WebContext { version.append("-----------------------------------------------------------"); version.append("+ MaxKey Community Edition "); version.append("+ Single Sign On ( SSO ) "); - version.append("+ Version {}".formatted( + version.append("+ Version %s".formatted( WebContext.properties.getProperty("application.formatted-version"))); version.append("+"); version.append("+ {}Copyright 2018 - {} https://www.maxkey.top/", diff --git a/maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/GroupsService.java b/maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/GroupsService.java index 0da2a718c..622521f79 100644 --- a/maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/GroupsService.java +++ b/maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/GroupsService.java @@ -79,7 +79,7 @@ public class GroupsService extends JpaService implements Serializable { return this.getMapper().queryByUserId(userId); } - public void refreshDynamicRoles(Groups dynamicGroup){ + public void refreshDynamicGroups(Groups dynamicGroup){ if(dynamicGroup.getCategory().equals(Roles.Category.DYNAMIC)) { boolean isDynamicTimeSupport = false; boolean isBetweenEffectiveTime = false; @@ -90,9 +90,10 @@ public class GroupsService extends JpaService implements Serializable { LocalTime resumeTime = LocalTime.parse(dynamicGroup.getResumeTime()); LocalTime suspendTime = LocalTime.parse(dynamicGroup.getSuspendTime()); - _logger.info("currentTime: " + currentTime - + " , resumeTime : " + resumeTime - + " , suspendTime: " + suspendTime); + _logger.info("currentTime: {} , resumeTime : {} , suspendTime: {}" + , currentTime + , resumeTime + , suspendTime); isDynamicTimeSupport = true; if(resumeTime.isBefore(currentTime) && currentTime.isBefore(suspendTime)) { @@ -152,7 +153,7 @@ public class GroupsService extends JpaService implements Serializable { List groupsList = queryDynamicGroups(group); for(Groups g : groupsList) { _logger.debug("role {}" , g); - refreshDynamicRoles(g); + refreshDynamicGroups(g); } } } diff --git a/maxkey-web-frontend/maxkey-web-app/src/app/shared/consts.ts b/maxkey-web-frontend/maxkey-web-app/src/app/shared/consts.ts index dbd3e9a52..84ebc3ce8 100644 --- a/maxkey-web-frontend/maxkey-web-app/src/app/shared/consts.ts +++ b/maxkey-web-frontend/maxkey-web-app/src/app/shared/consts.ts @@ -26,5 +26,5 @@ export const CONSTS = { REDIRECT_URI: 'redirect_uri', REMEMBER: 'remember_me', TOKEN: '_token', - VERSION: 'v4.0.1 GA' + VERSION: 'v4.0.2 GA' }; diff --git a/maxkey-web-frontend/maxkey-web-mgt-app/src/app/routes/audit/audit-logins/audit-logins.component.html b/maxkey-web-frontend/maxkey-web-mgt-app/src/app/routes/audit/audit-logins/audit-logins.component.html index cd2178bee..c8dcf1e80 100644 --- a/maxkey-web-frontend/maxkey-web-mgt-app/src/app/routes/audit/audit-logins/audit-logins.component.html +++ b/maxkey-web-frontend/maxkey-web-mgt-app/src/app/routes/audit/audit-logins/audit-logins.component.html @@ -106,6 +106,7 @@ {{ 'mxk.history.login.message' | i18n }} {{ 'mxk.history.login.loginType' | i18n }} {{ 'mxk.history.login.sourceIp' | i18n }} + {{ 'mxk.history.login.location' | i18n }} {{ 'mxk.history.login.browser' | i18n }} {{ 'mxk.history.login.platform' | i18n }} {{ 'mxk.history.login.loginTime' | i18n }} @@ -122,6 +123,7 @@ {{ data.provider }} {{ data.loginType }} {{ data.sourceIp }} + {{ data.location }} {{ data.browser }} {{ data.platform }} {{ data.loginTime }} diff --git a/maxkey-web-frontend/maxkey-web-mgt-app/src/app/shared/consts.ts b/maxkey-web-frontend/maxkey-web-mgt-app/src/app/shared/consts.ts index faf1fd674..1c90885f8 100644 --- a/maxkey-web-frontend/maxkey-web-mgt-app/src/app/shared/consts.ts +++ b/maxkey-web-frontend/maxkey-web-mgt-app/src/app/shared/consts.ts @@ -19,5 +19,5 @@ export const CONSTS = { INST: 'inst', REDIRECT_URI: 'redirect_uri', REMEMBER: 'remember', - VERSION: 'v4.0.1 GA' + VERSION: 'v4.0.2 GA' }; diff --git a/maxkey-web-frontend/maxkey-web-mgt-app/src/assets/i18n/en-US.json b/maxkey-web-frontend/maxkey-web-mgt-app/src/assets/i18n/en-US.json index d00de0015..084c3a75b 100644 --- a/maxkey-web-frontend/maxkey-web-mgt-app/src/assets/i18n/en-US.json +++ b/maxkey-web-frontend/maxkey-web-mgt-app/src/assets/i18n/en-US.json @@ -649,6 +649,7 @@ "login.message": "message", "login.loginType": "loginType", "login.sourceIp": "sourceIp", + "login.location": "location", "login.browser": "browser", "login.loginTime": "loginTime", "login.logoutTime": "logoutTime", diff --git a/maxkey-web-frontend/maxkey-web-mgt-app/src/assets/i18n/zh-CN.json b/maxkey-web-frontend/maxkey-web-mgt-app/src/assets/i18n/zh-CN.json index e6f26116f..4eba23a51 100644 --- a/maxkey-web-frontend/maxkey-web-mgt-app/src/assets/i18n/zh-CN.json +++ b/maxkey-web-frontend/maxkey-web-mgt-app/src/assets/i18n/zh-CN.json @@ -647,6 +647,7 @@ "login.message": "状态", "login.loginType": "登录方式", "login.sourceIp": "访问地址", + "login.location": "归属地", "login.browser": "浏览器", "login.loginTime": "登录时间", "login.logoutTime": "退出时间", diff --git a/maxkey-web-frontend/maxkey-web-mgt-app/src/assets/i18n/zh-TW.json b/maxkey-web-frontend/maxkey-web-mgt-app/src/assets/i18n/zh-TW.json index e99744239..c5e89b401 100644 --- a/maxkey-web-frontend/maxkey-web-mgt-app/src/assets/i18n/zh-TW.json +++ b/maxkey-web-frontend/maxkey-web-mgt-app/src/assets/i18n/zh-TW.json @@ -648,6 +648,7 @@ "login.message": "狀態", "login.loginType": "登錄方式", "login.sourceIp": "訪問地址", + "login.location": "歸屬地", "login.browser": "瀏覽器", "login.loginTime": "登錄時間", "login.logoutTime": "退出時間", diff --git a/maxkey-webs/maxkey-gataway/src/main/resources/application.yml b/maxkey-webs/maxkey-gataway/src/main/resources/application.yml index 4c7538578..475e6ed9f 100644 --- a/maxkey-webs/maxkey-gataway/src/main/resources/application.yml +++ b/maxkey-webs/maxkey-gataway/src/main/resources/application.yml @@ -1,7 +1,7 @@ #端口号 application: name: maxkey-gateway-server - formatted-version: v4.0.1 GA + formatted-version: v4.0.2 GA server: port: 9000 spring: diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/dromara/maxkey/MaxKeyApplication.java b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/dromara/maxkey/MaxKeyApplication.java index 65a1e8924..2ede544d4 100644 --- a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/dromara/maxkey/MaxKeyApplication.java +++ b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/dromara/maxkey/MaxKeyApplication.java @@ -58,7 +58,7 @@ public class MaxKeyApplication extends SpringBootServletInitializer { logger.error("ServletException", e); } logger.info("MaxKey at {}" , new DateTime()); - logger.info("MaxKey Server Port {}" , WebContext.properties.getProperty("server.port")); + logger.info("MaxKey Server Port {}" , WebContext.getProperty("server.port")); logger.info("MaxKey started."); } 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 aac251e8f..6aeef955a 100644 --- a/maxkey-webs/maxkey-web-maxkey/src/main/resources/application.properties +++ b/maxkey-webs/maxkey-web-maxkey/src/main/resources/application.properties @@ -16,7 +16,7 @@ #MaxKey Title and Version # ############################################################################ application.title =MaxKey -application.formatted-version =v4.0.1 GA +application.formatted-version =v4.0.2 GA #for dynamic service discovery spring.application.name =maxkey ############################################################################ diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/MaxKeyMgtApplication.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/MaxKeyMgtApplication.java index 4e44ab0b6..e57cad096 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/MaxKeyMgtApplication.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/MaxKeyMgtApplication.java @@ -66,8 +66,7 @@ public class MaxKeyMgtApplication extends SpringBootServletInitializer { logger.info("Start MaxKeyMgt Application ..."); ProductEnvironment.listEnvVars(); - ConfigurableApplicationContext applicationContext = - SpringApplication.run(MaxKeyMgtApplication.class, args); + ConfigurableApplicationContext applicationContext = SpringApplication.run(MaxKeyMgtApplication.class, args); InitializeContext initWebContext = new InitializeContext(applicationContext); try { @@ -76,7 +75,7 @@ public class MaxKeyMgtApplication extends SpringBootServletInitializer { logger.error("Exception ",e); } logger.info("MaxKeyMgt at {}" , new DateTime()); - logger.info("MaxKeyMgt Server Port {}" , WebContext.properties.getProperty("server.port")); + logger.info("MaxKeyMgt Server Port {}" , WebContext.getProperty("server.port")); logger.info("MaxKeyMgt started."); } diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/autoconfigure/MaxKeyMgtListenerConfig.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/autoconfigure/MaxKeyMgtListenerConfig.java index 3a0f7c4c7..cbd466602 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/autoconfigure/MaxKeyMgtListenerConfig.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/autoconfigure/MaxKeyMgtListenerConfig.java @@ -79,7 +79,7 @@ public class MaxKeyMgtListenerConfig implements InitializingBean { ConnectorsService connectorsService, JdbcTemplate jdbcTemplate, ApplicationConfig applicationConfig - ) throws SchedulerException { + ) { if(applicationConfig.isProvisionSupport()) { ProvisioningRunner runner = new ProvisioningRunner(connectorsService,jdbcTemplate); ProvisioningRunnerThread runnerThread = new ProvisioningRunnerThread(runner); diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/web/idm/contorller/GroupsController.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/web/idm/contorller/GroupsController.java index 356f1a14c..22857144c 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/web/idm/contorller/GroupsController.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/web/idm/contorller/GroupsController.java @@ -94,7 +94,7 @@ public class GroupsController { group.setGroupCode(group.getId()); } if (service.insert(group)) { - service.refreshDynamicRoles(group); + service.refreshDynamicGroups(group); systemLog.insert( ConstsEntryType.ROLE, group, @@ -116,7 +116,7 @@ public class GroupsController { } group.setInstId(currentUser.getInstId()); if (service.update(group)) { - service.refreshDynamicRoles(group); + service.refreshDynamicGroups(group); systemLog.insert( ConstsEntryType.ROLE, group, 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 0df8a982f..f7def277a 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/resources/application.properties +++ b/maxkey-webs/maxkey-web-mgt/src/main/resources/application.properties @@ -16,7 +16,7 @@ #MaxKey Title and Version # ############################################################################ application.title =MaxKey-Mgt -application.formatted-version =v4.0.1 GA +application.formatted-version =v4.0.2 GA #for dynamic service discovery spring.application.name =maxkey-mgt ############################################################################ diff --git a/maxkey-webs/maxkey-web-openapi/src/main/java/org/dromara/maxkey/MaxKeyOpenApiApplication.java b/maxkey-webs/maxkey-web-openapi/src/main/java/org/dromara/maxkey/MaxKeyOpenApiApplication.java index 9187c3373..10d62f01d 100644 --- a/maxkey-webs/maxkey-web-openapi/src/main/java/org/dromara/maxkey/MaxKeyOpenApiApplication.java +++ b/maxkey-webs/maxkey-web-openapi/src/main/java/org/dromara/maxkey/MaxKeyOpenApiApplication.java @@ -62,8 +62,7 @@ public class MaxKeyOpenApiApplication extends SpringBootServletInitializer { logger.info("Start MaxKey OpenApi Application ..."); ProductEnvironment.listEnvVars(); - ConfigurableApplicationContext applicationContext = - SpringApplication.run(MaxKeyOpenApiApplication.class, args); + ConfigurableApplicationContext applicationContext = SpringApplication.run(MaxKeyOpenApiApplication.class, args); InitializeContext initWebContext = new InitializeContext(applicationContext); try { @@ -72,7 +71,7 @@ public class MaxKeyOpenApiApplication extends SpringBootServletInitializer { logger.error("Exception ",e); } logger.info("MaxKey OpenApi at {}" , new DateTime()); - logger.info("MaxKey OpenApi Server Port {}" , WebContext.properties.getProperty("server.port")); + logger.info("MaxKey OpenApi Server Port {}" , WebContext.getProperty("server.port")); logger.info("MaxKey OpenApi started."); } diff --git a/maxkey-webs/maxkey-web-openapi/src/main/resources/application.properties b/maxkey-webs/maxkey-web-openapi/src/main/resources/application.properties index dfa190f5a..ccb9cef1a 100644 --- a/maxkey-webs/maxkey-web-openapi/src/main/resources/application.properties +++ b/maxkey-webs/maxkey-web-openapi/src/main/resources/application.properties @@ -16,7 +16,7 @@ #MaxKey Title and Version # ############################################################################ application.title =MaxKey-OpenApi -application.formatted-version =v4.0.1 GA +application.formatted-version =v4.0.2 GA #for dynamic service discovery spring.application.name =maxkey-openapi ############################################################################