diff --git a/maxkey-authentications/maxkey-authentication-core/src/main/java/org/dromara/maxkey/autoconfigure/SessionAutoConfiguration.java b/maxkey-authentications/maxkey-authentication-core/src/main/java/org/dromara/maxkey/autoconfigure/SessionAutoConfiguration.java index b2b49506e..e6e41cf20 100644 --- a/maxkey-authentications/maxkey-authentication-core/src/main/java/org/dromara/maxkey/autoconfigure/SessionAutoConfiguration.java +++ b/maxkey-authentications/maxkey-authentication-core/src/main/java/org/dromara/maxkey/autoconfigure/SessionAutoConfiguration.java @@ -47,7 +47,7 @@ public class SessionAutoConfiguration { @Value("${maxkey.server.persistence}") int persistence, JdbcTemplate jdbcTemplate, RedisConnectionFactory redisConnFactory, - @Value("${maxkey.session.timeout:1800}") int timeout + @Value("${maxkey.auth.session.timeout:1800}") int timeout ) { _logger.debug("session timeout {}" , timeout); return new SessionManagerFactory( 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 c2f9c0f58..63664fd16 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 @@ -17,13 +17,14 @@ package org.dromara.maxkey.autoconfigure; +import java.text.SimpleDateFormat; +import java.time.Duration; import java.util.ArrayList; import java.util.Collections; import java.util.List; import org.dromara.maxkey.configuration.ApplicationConfig; -import org.dromara.maxkey.constants.ConstsTimeInterval; import org.dromara.maxkey.persistence.repository.InstitutionsRepository; import org.dromara.maxkey.web.WebInstRequestFilter; import org.dromara.maxkey.web.WebXssRequestFilter; @@ -58,6 +59,9 @@ import org.springframework.web.servlet.i18n.LocaleChangeInterceptor; import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter; import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; + import jakarta.servlet.Filter; @@ -65,6 +69,9 @@ import jakarta.servlet.Filter; public class MvcAutoConfiguration implements WebMvcConfigurer { static final Logger _logger = LoggerFactory.getLogger(MvcAutoConfiguration.class); + @Value("${spring.jackson.date-format:yyyy-MM-dd HH:mm:ss}") + private String pattern; + /** * 消息处理,可以直接使用properties的key值,返回的是对应的value值 * messageSource . @@ -151,6 +158,13 @@ public class MvcAutoConfiguration implements WebMvcConfigurer { //mediaTypesList.add(MediaType.TEXT_PLAIN); _logger.debug("mappingJacksonHttpMessageConverter MediaTypes {}" , mediaTypesList); mappingJacksonHttpMessageConverter.setSupportedMediaTypes(mediaTypesList); + ObjectMapper objectMapper = mappingJacksonHttpMessageConverter.getObjectMapper(); + // 时间格式化 + objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + _logger.debug("DateFormat {}" , pattern); + objectMapper.setDateFormat(new SimpleDateFormat(pattern)); + // 设置格式化内容 + mappingJacksonHttpMessageConverter.setObjectMapper(objectMapper); return mappingJacksonHttpMessageConverter; } @@ -165,10 +179,9 @@ public class MvcAutoConfiguration implements WebMvcConfigurer { String domainName ) { _logger.debug("DomainName {}" , domainName); - CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver(); - cookieLocaleResolver.setCookieName("mxk_locale"); + CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver("mxk_locale"); cookieLocaleResolver.setCookieDomain(domainName); - cookieLocaleResolver.setCookieMaxAge(ConstsTimeInterval.TWO_WEEK); + cookieLocaleResolver.setCookieMaxAge(Duration.ofDays(14)); return cookieLocaleResolver; } diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/resources/application-maxkey.properties b/maxkey-webs/maxkey-web-maxkey/src/main/resources/application-maxkey.properties index 0c6755ba6..0dafdf574 100644 --- a/maxkey-webs/maxkey-web-maxkey/src/main/resources/application-maxkey.properties +++ b/maxkey-webs/maxkey-web-maxkey/src/main/resources/application-maxkey.properties @@ -48,13 +48,14 @@ maxkey.server.persistence =${SERVER_PERSISTENCE:0} maxkey.server.provision =${SERVER_PROVISION:false} #issuer name maxkey.app.issuer =CN=ConSec,CN=COM,CN=SH -#must > jwt expire * 2 -maxkey.session.timeout =${SERVER_SESSION_TIMEOUT:1800} -maxkey.auth.jwt.issuer =${maxkey.server.uri} +#must > jwt expire * 2 +maxkey.auth.session.timeout =${SERVER_SESSION_TIMEOUT:1800} maxkey.auth.jwt.expires =600 maxkey.auth.jwt.secret =7heM-14BtxjyKPuH3ITIm7q2-ps5MuBirWCsrrdbzzSAOuSPrbQYiaJ54AeA0uH2XdkYy3hHAkTFIsieGkyqxOJZ_dQzrCbaYISH9rhUZAKYx8tUY0wkE4ArOC6LqHDJarR6UIcMsARakK9U4dhoOPO1cj74XytemI-w6ACYfzRUn_Rn4e-CQMcnD1C56oNEukwalf06xVgXl41h6K8IBEzLVod58y_VfvFn-NGWpNG0fy_Qxng6dg8Dgva2DobvzMN2eejHGLGB-x809MvC4zbG7CKNVlcrzMYDt2Gt2sOVDrt2l9YqJNfgaLFjrOEVw5cuXemGkX1MvHj6TAsbLg maxkey.auth.jwt.refresh.secret =7heM-14BtxjyKPuH3ITIm7q2-ps5MuBirWCsrrdbzzSAOuSPrbQYiaJ54AeA0uH2XdkYy3hHAkTFIsieGkyqxOJZ_dQzrCbaYISH9rhUZAKYx8tUY0wkE4ArOC6LqHDJarR6UIcMsARakK9U4dhoOPO1cj74XytemI-w6ACYfzRUn_Rn4e-CQMcnD1C56oNEukwalf06xVgXl41h6K8IBEzLVod58y_VfvFn-NGWpNG0fy_Qxng6dg8Dgva2DobvzMN2eejHGLGB-x809MvC4zbG7CKNVlcrzMYDt2Gt2sOVDrt2l9YqJNfgaLFjrOEVw5cuXemGkX1MvHj6TAsbLg +maxkey.auth.jwt.issuer =${maxkey.server.uri} + #plain,bcrypt,pbkdf2,scrypt,md4,md5,sha1,sha256,sha384,sha512,sm3,ldap maxkey.crypto.password.encoder =bcrypt ############################################################################ @@ -124,6 +125,13 @@ mybatis.table-column-snowflake-machine-id =1 mybatis.table-column-escape =false mybatis.table-column-case =lowercase +############################################################################ +#spring json +spring.jackson.time-zone=GMT+8 +spring.jackson.date-format=yyyy-MM-dd HH:mm:ss +# default-property-inclusion: NON_NULL +spring.mvc.date-format=yyyy-MM-dd HH:mm:ss + ############################################################################ #redis server configuration # ############################################################################ diff --git a/maxkey-webs/maxkey-web-mgt/src/main/resources/application-maxkey-mgt.properties b/maxkey-webs/maxkey-web-mgt/src/main/resources/application-maxkey-mgt.properties index 7e5bd5af4..f394c0f9a 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/resources/application-maxkey-mgt.properties +++ b/maxkey-webs/maxkey-web-mgt/src/main/resources/application-maxkey-mgt.properties @@ -36,13 +36,13 @@ maxkey.server.persistence =${SERVER_PERSISTENCE:0} #identity true,false maxkey.server.provision =${SERVER_PROVISION:false} -maxkey.session.timeout =${SERVER_SESSION_TIMEOUT:1800} - -maxkey.auth.jwt.issuer =${maxkey.server.uri} +maxkey.auth.session.timeout =${SERVER_SESSION_TIMEOUT:1800} #default 900 maxkey.auth.jwt.expires =900 maxkey.auth.jwt.secret =7heM-14BtxjyKPuH3ITIm7q2-ps5MuBirWCsrrdbzzSAOuSPrbQYiaJ54AeA0uH2XdkYy3hHAkTFIsieGkyqxOJZ_dQzrCbaYISH9rhUZAKYx8tUY0wkE4ArOC6LqHDJarR6UIcMsARakK9U4dhoOPO1cj74XytemI-w6ACYfzRUn_Rn4e-CQMcnD1C56oNEukwalf06xVgXl41h6K8IBEzLVod58y_VfvFn-NGWpNG0fy_Qxng6dg8Dgva2DobvzMN2eejHGLGB-x809MvC4zbG7CKNVlcrzMYDt2Gt2sOVDrt2l9YqJNfgaLFjrOEVw5cuXemGkX1MvHj6TAsbLg maxkey.auth.jwt.refresh.secret =7heM-14BtxjyKPuH3ITIm7q2-ps5MuBirWCsrrdbzzSAOuSPrbQYiaJ54AeA0uH2XdkYy3hHAkTFIsieGkyqxOJZ_dQzrCbaYISH9rhUZAKYx8tUY0wkE4ArOC6LqHDJarR6UIcMsARakK9U4dhoOPO1cj74XytemI-w6ACYfzRUn_Rn4e-CQMcnD1C56oNEukwalf06xVgXl41h6K8IBEzLVod58y_VfvFn-NGWpNG0fy_Qxng6dg8Dgva2DobvzMN2eejHGLGB-x809MvC4zbG7CKNVlcrzMYDt2Gt2sOVDrt2l9YqJNfgaLFjrOEVw5cuXemGkX1MvHj6TAsbLg +maxkey.auth.jwt.issuer =${maxkey.server.uri} + #plain,bcrypt,pbkdf2,scrypt,md4,md5,sha1,sha256,sha384,sha512,sm3,ldap maxkey.crypto.password.encoder =bcrypt ############################################################################ @@ -97,7 +97,12 @@ mybatis.table-column-snowflake-datacenter-id =1 mybatis.table-column-snowflake-machine-id =1 mybatis.table-column-escape =false mybatis.table-column-case =lowercase - +############################################################################ +#spring json +spring.jackson.time-zone=GMT+8 +spring.jackson.date-format=yyyy-MM-dd HH:mm:ss +# default-property-inclusion: NON_NULL +spring.mvc.date-format=yyyy-MM-dd HH:mm:ss ############################################################################ #redis server configuration # ############################################################################ diff --git a/maxkey-webs/maxkey-web-openapi/src/main/resources/application-maxkey-openapi.properties b/maxkey-webs/maxkey-web-openapi/src/main/resources/application-maxkey-openapi.properties index 52c86b25c..db27a5de0 100644 --- a/maxkey-webs/maxkey-web-openapi/src/main/resources/application-maxkey-openapi.properties +++ b/maxkey-webs/maxkey-web-openapi/src/main/resources/application-maxkey-openapi.properties @@ -36,13 +36,13 @@ maxkey.server.persistence =${SERVER_PERSISTENCE:0} #identity true,false maxkey.server.provision =${SERVER_PROVISION:false} -maxkey.session.timeout =${SERVER_SESSION_TIMEOUT:1800} - -maxkey.auth.jwt.issuer =${maxkey.server.uri} +maxkey.auth.session.timeout =${SERVER_SESSION_TIMEOUT:1800} #default 900 maxkey.auth.jwt.expires =900 maxkey.auth.jwt.secret =7heM-14BtxjyKPuH3ITIm7q2-ps5MuBirWCsrrdbzzSAOuSPrbQYiaJ54AeA0uH2XdkYy3hHAkTFIsieGkyqxOJZ_dQzrCbaYISH9rhUZAKYx8tUY0wkE4ArOC6LqHDJarR6UIcMsARakK9U4dhoOPO1cj74XytemI-w6ACYfzRUn_Rn4e-CQMcnD1C56oNEukwalf06xVgXl41h6K8IBEzLVod58y_VfvFn-NGWpNG0fy_Qxng6dg8Dgva2DobvzMN2eejHGLGB-x809MvC4zbG7CKNVlcrzMYDt2Gt2sOVDrt2l9YqJNfgaLFjrOEVw5cuXemGkX1MvHj6TAsbLg maxkey.auth.jwt.refresh.secret =7heM-14BtxjyKPuH3ITIm7q2-ps5MuBirWCsrrdbzzSAOuSPrbQYiaJ54AeA0uH2XdkYy3hHAkTFIsieGkyqxOJZ_dQzrCbaYISH9rhUZAKYx8tUY0wkE4ArOC6LqHDJarR6UIcMsARakK9U4dhoOPO1cj74XytemI-w6ACYfzRUn_Rn4e-CQMcnD1C56oNEukwalf06xVgXl41h6K8IBEzLVod58y_VfvFn-NGWpNG0fy_Qxng6dg8Dgva2DobvzMN2eejHGLGB-x809MvC4zbG7CKNVlcrzMYDt2Gt2sOVDrt2l9YqJNfgaLFjrOEVw5cuXemGkX1MvHj6TAsbLg +maxkey.auth.jwt.issuer =${maxkey.server.uri} + #plain,bcrypt,pbkdf2,scrypt,md4,md5,sha1,sha256,sha384,sha512,sm3,ldap maxkey.crypto.password.encoder =bcrypt ############################################################################ @@ -97,7 +97,12 @@ mybatis.table-column-snowflake-datacenter-id =1 mybatis.table-column-snowflake-machine-id =1 mybatis.table-column-escape =false mybatis.table-column-case =lowercase - +############################################################################ +#spring json +spring.jackson.time-zone=GMT+8 +spring.jackson.date-format=yyyy-MM-dd HH:mm:ss +# default-property-inclusion: NON_NULL +spring.mvc.date-format=yyyy-MM-dd HH:mm:ss ############################################################################ #redis server configuration # ############################################################################