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

maxkey.session.timeout 修改为maxkey.auth.session.timeout
增加 date格式化支持
This commit is contained in:
MaxKey 2024-05-04 07:28:04 +08:00
parent bfa468c749
commit 9ff95bf74a
5 changed files with 47 additions and 16 deletions

View File

@ -47,7 +47,7 @@ public class SessionAutoConfiguration {
@Value("${maxkey.server.persistence}") int persistence, @Value("${maxkey.server.persistence}") int persistence,
JdbcTemplate jdbcTemplate, JdbcTemplate jdbcTemplate,
RedisConnectionFactory redisConnFactory, RedisConnectionFactory redisConnFactory,
@Value("${maxkey.session.timeout:1800}") int timeout @Value("${maxkey.auth.session.timeout:1800}") int timeout
) { ) {
_logger.debug("session timeout {}" , timeout); _logger.debug("session timeout {}" , timeout);
return new SessionManagerFactory( return new SessionManagerFactory(

View File

@ -17,13 +17,14 @@
package org.dromara.maxkey.autoconfigure; package org.dromara.maxkey.autoconfigure;
import java.text.SimpleDateFormat;
import java.time.Duration;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import org.dromara.maxkey.configuration.ApplicationConfig; import org.dromara.maxkey.configuration.ApplicationConfig;
import org.dromara.maxkey.constants.ConstsTimeInterval;
import org.dromara.maxkey.persistence.repository.InstitutionsRepository; import org.dromara.maxkey.persistence.repository.InstitutionsRepository;
import org.dromara.maxkey.web.WebInstRequestFilter; import org.dromara.maxkey.web.WebInstRequestFilter;
import org.dromara.maxkey.web.WebXssRequestFilter; 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.RequestMappingHandlerAdapter;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; 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; import jakarta.servlet.Filter;
@ -65,6 +69,9 @@ import jakarta.servlet.Filter;
public class MvcAutoConfiguration implements WebMvcConfigurer { public class MvcAutoConfiguration implements WebMvcConfigurer {
static final Logger _logger = LoggerFactory.getLogger(MvcAutoConfiguration.class); 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值 * 消息处理可以直接使用properties的key值返回的是对应的value值
* messageSource . * messageSource .
@ -151,6 +158,13 @@ public class MvcAutoConfiguration implements WebMvcConfigurer {
//mediaTypesList.add(MediaType.TEXT_PLAIN); //mediaTypesList.add(MediaType.TEXT_PLAIN);
_logger.debug("mappingJacksonHttpMessageConverter MediaTypes {}" , mediaTypesList); _logger.debug("mappingJacksonHttpMessageConverter MediaTypes {}" , mediaTypesList);
mappingJacksonHttpMessageConverter.setSupportedMediaTypes(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; return mappingJacksonHttpMessageConverter;
} }
@ -165,10 +179,9 @@ public class MvcAutoConfiguration implements WebMvcConfigurer {
String domainName String domainName
) { ) {
_logger.debug("DomainName {}" , domainName); _logger.debug("DomainName {}" , domainName);
CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver(); CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver("mxk_locale");
cookieLocaleResolver.setCookieName("mxk_locale");
cookieLocaleResolver.setCookieDomain(domainName); cookieLocaleResolver.setCookieDomain(domainName);
cookieLocaleResolver.setCookieMaxAge(ConstsTimeInterval.TWO_WEEK); cookieLocaleResolver.setCookieMaxAge(Duration.ofDays(14));
return cookieLocaleResolver; return cookieLocaleResolver;
} }

View File

@ -48,13 +48,14 @@ maxkey.server.persistence =${SERVER_PERSISTENCE:0}
maxkey.server.provision =${SERVER_PROVISION:false} maxkey.server.provision =${SERVER_PROVISION:false}
#issuer name #issuer name
maxkey.app.issuer =CN=ConSec,CN=COM,CN=SH 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.expires =600
maxkey.auth.jwt.secret =7heM-14BtxjyKPuH3ITIm7q2-ps5MuBirWCsrrdbzzSAOuSPrbQYiaJ54AeA0uH2XdkYy3hHAkTFIsieGkyqxOJZ_dQzrCbaYISH9rhUZAKYx8tUY0wkE4ArOC6LqHDJarR6UIcMsARakK9U4dhoOPO1cj74XytemI-w6ACYfzRUn_Rn4e-CQMcnD1C56oNEukwalf06xVgXl41h6K8IBEzLVod58y_VfvFn-NGWpNG0fy_Qxng6dg8Dgva2DobvzMN2eejHGLGB-x809MvC4zbG7CKNVlcrzMYDt2Gt2sOVDrt2l9YqJNfgaLFjrOEVw5cuXemGkX1MvHj6TAsbLg 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.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 #plain,bcrypt,pbkdf2,scrypt,md4,md5,sha1,sha256,sha384,sha512,sm3,ldap
maxkey.crypto.password.encoder =bcrypt maxkey.crypto.password.encoder =bcrypt
############################################################################ ############################################################################
@ -124,6 +125,13 @@ mybatis.table-column-snowflake-machine-id =1
mybatis.table-column-escape =false mybatis.table-column-escape =false
mybatis.table-column-case =lowercase 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 # #redis server configuration #
############################################################################ ############################################################################

View File

@ -36,13 +36,13 @@ maxkey.server.persistence =${SERVER_PERSISTENCE:0}
#identity true,false #identity true,false
maxkey.server.provision =${SERVER_PROVISION:false} maxkey.server.provision =${SERVER_PROVISION:false}
maxkey.session.timeout =${SERVER_SESSION_TIMEOUT:1800} maxkey.auth.session.timeout =${SERVER_SESSION_TIMEOUT:1800}
maxkey.auth.jwt.issuer =${maxkey.server.uri}
#default 900 #default 900
maxkey.auth.jwt.expires =900 maxkey.auth.jwt.expires =900
maxkey.auth.jwt.secret =7heM-14BtxjyKPuH3ITIm7q2-ps5MuBirWCsrrdbzzSAOuSPrbQYiaJ54AeA0uH2XdkYy3hHAkTFIsieGkyqxOJZ_dQzrCbaYISH9rhUZAKYx8tUY0wkE4ArOC6LqHDJarR6UIcMsARakK9U4dhoOPO1cj74XytemI-w6ACYfzRUn_Rn4e-CQMcnD1C56oNEukwalf06xVgXl41h6K8IBEzLVod58y_VfvFn-NGWpNG0fy_Qxng6dg8Dgva2DobvzMN2eejHGLGB-x809MvC4zbG7CKNVlcrzMYDt2Gt2sOVDrt2l9YqJNfgaLFjrOEVw5cuXemGkX1MvHj6TAsbLg 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.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 #plain,bcrypt,pbkdf2,scrypt,md4,md5,sha1,sha256,sha384,sha512,sm3,ldap
maxkey.crypto.password.encoder =bcrypt 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-snowflake-machine-id =1
mybatis.table-column-escape =false mybatis.table-column-escape =false
mybatis.table-column-case =lowercase 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 # #redis server configuration #
############################################################################ ############################################################################

View File

@ -36,13 +36,13 @@ maxkey.server.persistence =${SERVER_PERSISTENCE:0}
#identity true,false #identity true,false
maxkey.server.provision =${SERVER_PROVISION:false} maxkey.server.provision =${SERVER_PROVISION:false}
maxkey.session.timeout =${SERVER_SESSION_TIMEOUT:1800} maxkey.auth.session.timeout =${SERVER_SESSION_TIMEOUT:1800}
maxkey.auth.jwt.issuer =${maxkey.server.uri}
#default 900 #default 900
maxkey.auth.jwt.expires =900 maxkey.auth.jwt.expires =900
maxkey.auth.jwt.secret =7heM-14BtxjyKPuH3ITIm7q2-ps5MuBirWCsrrdbzzSAOuSPrbQYiaJ54AeA0uH2XdkYy3hHAkTFIsieGkyqxOJZ_dQzrCbaYISH9rhUZAKYx8tUY0wkE4ArOC6LqHDJarR6UIcMsARakK9U4dhoOPO1cj74XytemI-w6ACYfzRUn_Rn4e-CQMcnD1C56oNEukwalf06xVgXl41h6K8IBEzLVod58y_VfvFn-NGWpNG0fy_Qxng6dg8Dgva2DobvzMN2eejHGLGB-x809MvC4zbG7CKNVlcrzMYDt2Gt2sOVDrt2l9YqJNfgaLFjrOEVw5cuXemGkX1MvHj6TAsbLg 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.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 #plain,bcrypt,pbkdf2,scrypt,md4,md5,sha1,sha256,sha384,sha512,sm3,ldap
maxkey.crypto.password.encoder =bcrypt 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-snowflake-machine-id =1
mybatis.table-column-escape =false mybatis.table-column-escape =false
mybatis.table-column-case =lowercase 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 # #redis server configuration #
############################################################################ ############################################################################