Jelajahi Sumber

maxkey.auth.session.timeout && 增加 date格式化支持

maxkey.session.timeout 修改为maxkey.auth.session.timeout
增加 date格式化支持
MaxKey 1 tahun lalu
induk
melakukan
9ff95bf74a

+ 1 - 1
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(

+ 17 - 4
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;
     }
      

+ 11 - 3
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
 ############################################################################
@@ -125,6 +126,13 @@ 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                                               #
 ############################################################################
 spring.redis.host                               =${REDIS_HOST:127.0.0.1}

+ 9 - 4
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                                               #
 ############################################################################

+ 9 - 4
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                                               #
 ############################################################################