This commit is contained in:
MaxKey 2023-08-15 11:58:38 +08:00
parent 7ebf4a57f3
commit d2500690e2
255 changed files with 1092 additions and 1031 deletions

View File

@ -28,6 +28,7 @@ ext {
def libjarsmapper=[
'maxkey-authentication-captcha' :'lib',
'maxkey-authentication-core' :'lib',
'maxkey-authentication-ip2region' :'lib',
'maxkey-authentication-otp' :'lib',
'maxkey-authentication-provider' :'lib',
'maxkey-authentication-sms' :'lib',
@ -47,15 +48,15 @@ def libjarsmapper=[
'maxkey-authentication-social' :'maxkey',
'maxkey-web-maxkey' :'maxkey',
'maxkey-web-mgt' :'maxkey_mgt',
'maxkey-synchronizer' :'maxkey_mgt',
'maxkey-synchronizer-activedirectory' :'maxkey_mgt',
'maxkey-synchronizer-common' :'maxkey_mgt',
'maxkey-synchronizer-jdbc' :'maxkey_mgt',
'maxkey-synchronizer-ldap' :'maxkey_mgt',
'maxkey-synchronizer-dingtalk' :'maxkey_mgt',
'maxkey-synchronizer-jdbc' :'maxkey_mgt',
'maxkey-synchronizer-workweixin' :'maxkey_mgt',
'maxkey-synchronizer-reorgdept' :'maxkey_mgt',
'maxkey-web-openapi' :'maxkey_openapi',
'maxkey-web-api-rest' :'maxkey_openapi',
'maxkey-synchronizer-reorgdept' :'maxkey_mgt',
'maxkey-web-openapi' :'maxkey_openapi',
'maxkey-web-api-rest' :'maxkey_openapi',
'maxkey-web-api-scim' :'maxkey_openapi',
]
@ -76,8 +77,8 @@ allprojects {
transitive = false//
}
//java Version
sourceCompatibility = 1.8
targetCompatibility = 1.8
sourceCompatibility = 17
targetCompatibility = 17
compileJava.options.encoding = 'UTF-8'
eclipse {
@ -90,7 +91,6 @@ allprojects {
}
}
}
}
buildscript {
@ -114,16 +114,7 @@ dependencies {
subprojects {
/*
eclipse {
eclipse设置
jdt {
File f = file('.settings/org.eclipse.core.resources.prefs')
f.write('eclipse.preferences.version=1\n')
f.append('encoding/<project>=UTF-8') //use UTF-8
}
}
*/
processResources {
from ('src/main/resources') {
include 'src/main/resources/*.*'
@ -160,16 +151,11 @@ subprojects {
//all dependencies
dependencies {
//for Test and Compile
//for Test and Compile
testImplementation group: 'junit', name: 'junit', version: "${junitVersion}"
compileOnly group: 'junit', name: 'junit', version: "${junitVersion}"
testImplementation group: 'org.mockito', name: 'mockito-all', version: "${mockitoallVersion}"
testImplementation group: 'xmlunit', name: 'xmlunit', version: "${xmlunitVersion}"
// https://projectlombok.org
compileOnly 'org.projectlombok:lombok:1.18.4'
annotationProcessor 'org.projectlombok:lombok:1.18.4'
//apache
implementation group: 'commons-beanutils', name: 'commons-beanutils', version: "${commonsbeanutilsVersion}"
implementation group: 'commons-codec', name: 'commons-codec', version: "${commonscodecVersion}"
@ -178,9 +164,9 @@ subprojects {
//implementation group: 'org.apache.commons', name: 'commons-csv', version: "${commonscsvVersion}"
implementation group: 'org.apache.commons', name: 'commons-text', version: "${commonstextVersion}"
implementation group: 'org.apache.commons', name: 'commons-dbcp2', version: "${commonsdbcp2Version}"
implementation group: 'commons-dbutils', name: 'commons-dbutils', version: "${commonsdbutilsVersion}"
implementation group: 'org.apache.commons', name: 'commons-digester3', version: "${commonsdigester3Version}"
implementation group: 'commons-digester', name: 'commons-digester', version: "${commonsdigesterVersion}"
//implementation group: 'commons-dbutils', name: 'commons-dbutils', version: "${commonsdbutilsVersion}"
//implementation group: 'org.apache.commons', name: 'commons-digester3', version: "${commonsdigester3Version}"
//implementation group: 'commons-digester', name: 'commons-digester', version: "${commonsdigesterVersion}"
implementation group: 'commons-io', name: 'commons-io', version: "${commonsioVersion}"
implementation group: 'commons-lang', name: 'commons-lang', version: "${commonslangVersion}"
implementation group: 'org.apache.commons', name: 'commons-lang3', version: "${commonslang3Version}"
@ -188,15 +174,20 @@ subprojects {
implementation group: 'org.apache.commons', name: 'commons-pool2', version: "${commonspool2Version}"
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: 'commons-validator', name: 'commons-validator', version: "${commonsvalidatorVersion}"
//httpcomponents v4
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: 'httpclient', version: "${httpcomponentsVersion}"
implementation group: 'org.apache.httpcomponents', name: 'httpcore', version: "${httpcoreVersion}"
implementation group: 'org.apache.httpcomponents', name: 'httpcore-nio', version: "${httpcoreVersion}"
//httpcomponents v5
implementation group: 'org.apache.httpcomponents.core5', name: 'httpcore5', version: "${httpcomponentscore5Version}"
implementation group: 'org.apache.httpcomponents.core5', name: 'httpcore5-h2', version: "${httpcomponentscore5Version}"
implementation group: 'org.apache.httpcomponents.client5', name: 'httpclient5', version: "${httpcomponentscore5Version}"
implementation group: 'org.apache.httpcomponents.client5', name: 'httpclient5-fluent', version: "${httpcomponentscore5Version}"
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}"
@ -212,16 +203,17 @@ subprojects {
implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: "${tomcatVersion}"
implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-el', version: "${tomcatVersion}"
implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-websocket', version: "${tomcatVersion}"
//apache logs
//apache log4j
implementation group: 'org.apache.logging.log4j', name: 'log4j-1.2-api', version: "${log4jVersion}"
implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: "${log4jVersion}"
implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: "${log4jVersion}"
implementation group: 'org.apache.logging.log4j', name: 'log4j-jcl', version: "${log4jVersion}"
implementation group: 'org.apache.logging.log4j', name: 'log4j-jul', version: "${log4jVersion}"
implementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: "${log4jVersion}"
implementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j2-impl', version: "${log4jVersion}"
implementation group: 'org.apache.logging.log4j', name: 'log4j-web', version: "${log4jVersion}"
//logs
//slf4j
implementation group: 'org.slf4j', name: 'slf4j-api', version: "${slf4jVersion}"
//jboss-logging
implementation group: 'org.jboss.logging', name: 'jboss-logging', version: "${jbossloggingVersion}"
//spring
implementation group: 'org.springframework', name: 'spring-aop', version: "${springVersion}"
@ -247,7 +239,6 @@ subprojects {
// https://mvnrepository.com/artifact/org.springframework.retry/spring-retry
implementation group: 'org.springframework.retry', name: 'spring-retry', version: "${springretryVersion}"
testImplementation group: 'org.springframework', name: 'spring-test', version: "${springVersion}"
//spring-security
implementation group: 'org.springframework.security', name: 'spring-security-core', version: "${springSecurityVersion}"
implementation group: 'org.springframework.security', name: 'spring-security-web', version: "${springSecurityVersion}"
@ -267,10 +258,9 @@ subprojects {
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-tomcat', version: "${springBootVersion}"
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-webflux', version: "${springBootVersion}"
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-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: "${springbootadminVersion}"
@ -279,7 +269,6 @@ subprojects {
implementation group: 'org.springframework.data', name: 'spring-data-commons', version: "${springDataVersion}"
implementation group: 'org.springframework.data', name: 'spring-data-keyvalue', version: "${springDataVersion}"
//implementation group: 'org.springframework.data', name: 'spring-data-redis', version: "${springDataVersion}"
//implementation group: 'org.springframework.plugin', name: 'spring-plugin-core', version: "${springplugincoreVersion}"
//implementation group: 'org.springframework.plugin', name: 'spring-plugin-metadata', version: "${springpluginmetadataVersion}"
//spring cloud
@ -292,11 +281,24 @@ subprojects {
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.nacos', name: 'nacos-auth-plugin', version: "${alibabanacosclientVersion}"
implementation group: 'com.alibaba.nacos', name: 'nacos-encryption-plugin', 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}"
//Message Queue Removed
//Message Queue
//kafka support
// https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients
implementation group: 'org.apache.kafka', name: 'kafka-clients', version: "${kafkaclientsVersion}"
// https://mvnrepository.com/artifact/org.springframework.kafka/spring-kafka
implementation group: 'org.springframework.kafka', name: 'spring-kafka', version: "${springkafkaVersion}"
//rocketmq
implementation group: 'org.apache.rocketmq', name: 'rocketmq-common', version: "${rocketmqclientVersion}"
implementation group: 'org.apache.rocketmq', name: 'rocketmq-remoting', version: "${rocketmqclientVersion}"
implementation group: 'io.github.aliyunmq', name: 'rocketmq-slf4j-api', version: '1.0.1'
implementation group: 'org.apache.rocketmq', name: 'rocketmq-client', version: "${rocketmqclientVersion}"
// https://mvnrepository.com/artifact/org.apache.rocketmq/rocketmq-spring-boot
implementation group: 'org.apache.rocketmq', name: 'rocketmq-spring-boot', version: "${rocketmqspringbootVersion}"
implementation group: 'org.apache.rocketmq', name: 'rocketmq-spring-boot-starter', version: "${rocketmqspringbootVersion}"
//saml see maxkey-lib
//implementation group: 'org.opensaml', name: 'opensaml', version: "${opensamlVersion}"
//implementation group: 'org.opensaml', name: 'openws', version: "${openwsVersion}"
@ -304,7 +306,7 @@ subprojects {
implementation group: 'net.shibboleth.utilities', name: 'java-support', version: "${javasupportVersion}"
//jose-jwt
implementation group: 'com.nimbusds', name: 'nimbus-jose-jwt', version: "${nimbusjosejwtVersion}"
implementation group: 'net.jcip', name: 'jcip-annotations', version: "${jcipannotationsVersion}"
implementation group: 'com.github.stephenc.jcip', name: 'jcip-annotations', version: "${jcipannotationsVersion}"
implementation group: 'net.minidev', name: 'json-smart', version: "${minidevjsonsmartVersion}"
implementation group: 'net.minidev', name: 'asm', version: "${minidevasmVersion}"
//oauth third party JustAuth
@ -313,97 +315,32 @@ subprojects {
//common
implementation group: 'org.javassist', name: 'javassist', version: "${javassistVersion}"
implementation group: 'org.owasp.esapi', name: 'esapi', version: "${esapiVersion}"
implementation group: 'com.sun.mail', name: 'javax.mail', version: "${javaxmailVersion}"
// 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: "${jakartapersistenceapiVersion}"
//jakarta
implementation group: 'jakarta.activation', name: 'jakarta.activation-api', version: "${jakartaactivationVersion}"
implementation group: 'jakarta.annotation', name: 'jakarta.annotation-api', version: "${jakartaannotationVersion}"
implementation group: 'jakarta.mail', name: 'jakarta.mail-api', version: "${jakartamailapiVersion}"
implementation group: 'jakarta.persistence', name: 'jakarta.persistence-api', version: "${jakartapersistenceapiVersion}"
implementation group: 'jakarta.transaction', name: 'jakarta.transaction-api', version: "${jakartatransactionapiVersion}"
implementation group: 'jakarta.validation', name: 'jakarta.validation-api', version: "${jakartavalidationapiVersion}"
implementation group: 'javax.activation', name: 'activation', version: "${activationVersion}"
implementation group: 'javax.annotation', name: 'javax.annotation-api', version: "${javaxannotationapiVersion}"
implementation group: 'javax.transaction', name: 'jta', version: "${jtaVersion}"
implementation group: 'javax.transaction', name: 'javax.transaction-api', version: "${javaxtransactionapiVersion}"
implementation group: 'javax.validation', name: 'validation-api', version: "${validationapiVersion}"
implementation group: 'javax.xml', name: 'jsr173', version: "${jsr173Version}"
implementation group: 'javax.xml.bind', name: 'jaxb-api', version: "${jaxbapiVersion}"
implementation group: 'com.sun.xml.bind', name: 'jaxb-core', version: "${jaxbcoreVersion}"
implementation group: 'com.sun.xml.bind', name: 'jaxb-impl', version: "${jaxbimplVersion}"
implementation group: 'com.sun.xml.bind', name: 'jaxb-xjc', version: "${jaxbxjcVersion}"
implementation group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: "${jakartaxmlbindapiVersion}"
//mail
implementation group: 'org.eclipse.angus', name: 'jakarta.mail', version: "${angusjakartamailVersion}"
implementation group: 'org.eclipse.angus', name: 'angus-activation', version: "${angusactivationVersion}"
//sun.xml.bind
implementation group: 'com.sun.xml.bind', name: 'jaxb-core', version: "${xmlbindjaxbcoreVersion}"
implementation group: 'com.sun.xml.bind', name: 'jaxb-impl', version: "${xmlbindjaxbimplVersion}"
implementation group: 'com.sun.xml.bind', name: 'jaxb-xjc', version: "${xmlbindjaxbxjcVersion}"
//crypto
implementation group: 'org.bouncycastle', name: 'bcpkix-jdk15on', version: "${bouncycastleVersion}"
implementation group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: "${bouncycastleVersion}"
implementation group: 'org.bouncycastle', name: 'bcprov-ext-jdk15on', version: "${bouncycastleVersion}"
implementation group: 'org.bouncycastle', name: 'bcpkix-jdk18on', version: "${bouncycastleVersion}"
implementation group: 'org.bouncycastle', name: 'bcprov-ext-jdk18on', version: "${bouncycastleVersion}"
//google
implementation group: 'com.google.crypto.tink', name: 'tink', version: "${tinkVersion}"
//kaptcha
implementation group: 'com.jhlabs', name: 'filters', version: "${jhlabsfiltersVersion}"
implementation group: 'com.github.penggle', name: 'kaptcha', version: "${kaptchaVersion}"
//json
//json-gson
implementation group: 'com.google.code.gson', name: 'gson', version: "${gsonVersion}"
//reactive
implementation group: 'org.reactivestreams', name: 'reactive-streams', version: "${reactivestreamsVersion}"
implementation group: 'io.projectreactor', name: 'reactor-core', version: "${reactorcoreVersion}"
implementation group: 'eu.tekul', name: 'szxcvbn_2.9.2', version: "${szxcvbnVersion}"
//quartz
implementation group: 'org.quartz-scheduler', name: 'quartz', version: "${quartzVersion}"
//database
implementation group: 'com.mysql', name: 'mysql-connector-j', version: "${mysqlconnectorjavaVersion}"
//implementation group: 'org.postgresql', name: 'postgresql', version: "${postgresqlVersion}"
implementation group: 'com.alibaba', name: 'druid', version: "${druidVersion}"
implementation group: 'com.alibaba', name: 'druid-spring-boot-starter', version: "${druidspringbootstarterVersion}"
implementation group: 'redis.clients', name: 'jedis', version: "${jedisVersion}"
//implementation group: 'org.liquibase', name: 'liquibase-core', version: '4.3.5'
implementation group: 'com.github.ben-manes.caffeine', name: 'caffeine', version: "${caffeineVersion}"
//mybatis
implementation group: 'org.mybatis', name: 'mybatis', version: "${mybatisVersion}"
implementation group: 'org.mybatis', name: 'mybatis-spring', version: "${mybatisspringVersion}"
//hibernate
implementation group: 'org.hibernate.validator', name: 'hibernate-validator', version: "${hibernateVersion}"
implementation group: 'org.hibernate', name: 'hibernate-validator-cdi', version: "${hibernateVersion}"
implementation group: 'org.hibernate.validator', name: 'hibernate-validator-annotation-processor', version: "${hibernateVersion}"
//usefull
implementation group: 'joda-time', name: 'joda-time', version: "${jodatimeVersion}"
implementation group: 'org.yaml', name: 'snakeyaml', version: "${snakeyamlVersion}"
implementation group: 'net.sourceforge.nekohtml', name: 'nekohtml', version: "${nekohtmlVersion}"
implementation group: 'org.jdom', name: 'jdom', version: "${jdomVersion}"
implementation group: 'com.google.zxing', name: 'core', version: "${zxingcoreVersion}"
implementation group: 'com.google.guava', name: 'guava', version: "${guavaVersion}"
implementation group: 'ognl', name: 'ognl', version: "${ognlVersion}"
implementation group: 'cglib', name: 'cglib', version: "${cglibVersion}"
implementation group: 'org.ow2.asm', name: 'asm', version: "${asmVersion}"
implementation group: 'aopalliance', name: 'aopalliance', version: "${aopallianceVersion}"
implementation group: 'org.aspectj', name: 'aspectjtools', version: "${aspectjtoolsVersion}"
implementation group: 'dom4j', name: 'dom4j', version: "${dom4jVersion}"
implementation group: 'xalan', name: 'serializer', version: "${serializerVersion}"
implementation group: 'xml-resolver', name: 'xml-resolver', version: "${xmlresolverVersion}"
implementation group: 'org.apache.santuario', name: 'xmlsec', version: "${xmlsecVersion}"
implementation group: 'org.ogce', name: 'xpp3', version: "${xpp3Version}"
implementation group: 'com.thoughtworks.xstream', name: 'xstream', version: "${xstreamVersion}"
implementation group: 'org.passay', name: 'passay', version: "${passayVersion}"
implementation group: 'io.micrometer', name: 'micrometer-core', version: "${micrometercoreVersion}"
implementation group: 'io.micrometer', name: 'micrometer-registry-prometheus', 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: "${reflectionsVersion}"
implementation group: 'io.prometheus', name: 'simpleclient_tracer_common', version: "${prometheusVersion}"
implementation group: 'io.prometheus', name: 'simpleclient_tracer_otel', version: "${prometheusVersion}"
implementation group: 'io.prometheus', name: 'simpleclient_tracer_otel_agent', version: "${prometheusVersion}"
implementation group: 'io.prometheus', name: 'simpleclient', version: "${prometheusVersion}"
implementation group: 'io.prometheus', name: 'simpleclient_common', version: "${prometheusVersion}"
implementation group: 'com.belerweb', name: 'pinyin4j', version: "${pinyin4jVersion}"
implementation group: 'org.jsoup', name: 'jsoup', version: "${jsoupVersion}"
implementation group: 'io.netty', name: 'netty-all', version: "${nettyVersion}"
//
implementation group: 'com.aliyun', name: 'aliyun-java-sdk-core', version: "${aliyunjavasdkcoreVersion}"
// https://mvnrepository.com/artifact/io.opentracing/opentracing-util
implementation "io.opentracing:opentracing-util:${opentracingVersion}"
// https://mvnrepository.com/artifact/io.opentracing/opentracing-api
implementation "io.opentracing:opentracing-api:${opentracingVersion}"
implementation "io.opentracing:opentracing-noop:${opentracingVersion}"
//
implementation group: 'com.tencentcloudapi', name: 'tencentcloud-sdk-java', version: "${tencentcloudsdkjavaVersion}"
//json
//json-jackson
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jacksonVersion}"
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: "${jacksonVersion}"
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: "${jacksonVersion}"
@ -416,25 +353,94 @@ subprojects {
implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-jakarta-xmlbind-annotations', version: "${jacksonVersion}"
implementation group: 'com.fasterxml', name: 'classmate', version: "${classmateVersion}"
implementation group: 'com.fasterxml.woodstox', name: 'woodstox-core', version: "${woodstoxVersion}"
//json-fastjson
implementation group: 'com.alibaba', name: 'fastjson', version: "${fastjsonVersion}"
implementation group: 'org.mapstruct', name: 'mapstruct', version: "${mapstructVersion}"
//reactive
implementation group: 'org.reactivestreams', name: 'reactive-streams', version: "${reactivestreamsVersion}"
implementation group: 'io.projectreactor', name: 'reactor-core', version: "${reactorcoreVersion}"
implementation group: 'eu.tekul', name: 'szxcvbn_2.9.2', version: "${szxcvbnVersion}"
//database
implementation group: 'com.mysql', name: 'mysql-connector-j', version: "${mysqlconnectorjavaVersion}"
//implementation group: 'org.postgresql', name: 'postgresql', version: "${postgresqlVersion}"
//implementation group: 'com.dameng', name: 'DmJdbcDriver18', version: "${dm8JdbcDriverVersion}"
//implementation group: 'com.highgo', name: 'HgdbJdbc', version: '6.2.3'
//implementation group: 'org.liquibase', name: 'liquibase-core', version: '4.3.5'
implementation group: 'com.alibaba', name: 'druid', version: "${druidVersion}"
implementation group: 'com.alibaba', name: 'druid-spring-boot-starter', version: "${druidspringbootstarterVersion}"
implementation group: 'redis.clients', name: 'jedis', version: "${jedisVersion}"
implementation group: 'com.github.ben-manes.caffeine', name: 'caffeine', version: "${caffeineVersion}"
//mybatis
implementation group: 'org.mybatis', name: 'mybatis', version: "${mybatisVersion}"
implementation group: 'org.mybatis', name: 'mybatis-spring', version: "${mybatisspringVersion}"
//implementation group: 'org.dromara.mybatis-jpa-extra', name: 'mybatis-jpa-extra', version: "${mybatisjpaextraVersion}"
//implementation group: 'org.dromara.mybatis-jpa-extra', name: 'mybatis-jpa-extra-spring-boot-starter', version: "${mybatisjpaextraVersion}"
//hibernate
implementation group: 'org.hibernate.validator', name: 'hibernate-validator', version: "${hibernateVersion}"
implementation group: 'org.hibernate', name: 'hibernate-validator-cdi', version: "${hibernateVersion}"
implementation group: 'org.hibernate.validator', name: 'hibernate-validator-annotation-processor', version: "${hibernateVersion}"
//usefull
implementation group: 'io.netty', name: 'netty-all', version: "${nettyVersion}"
implementation group: 'com.belerweb', name: 'pinyin4j', version: "${pinyin4jVersion}"
implementation group: 'org.jsoup', name: 'jsoup', version: "${jsoupVersion}"
implementation group: 'joda-time', name: 'joda-time', version: "${jodatimeVersion}"
implementation group: 'org.yaml', name: 'snakeyaml', version: "${snakeyamlVersion}"
implementation group: 'net.sourceforge.nekohtml', name: 'nekohtml', version: "${nekohtmlVersion}"
implementation group: 'org.dom4j', name: 'dom4j', version: "${dom4jVersion}"
implementation group: 'org.jdom', name: 'jdom2', version: "${jdom2Version}"
implementation group: 'com.google.zxing', name: 'core', version: "${zxingcoreVersion}"
implementation group: 'com.google.guava', name: 'guava', version: "${guavaVersion}"
implementation group: 'ognl', name: 'ognl', version: "${ognlVersion}"
implementation group: 'cglib', name: 'cglib', version: "${cglibVersion}"
implementation group: 'org.ow2.asm', name: 'asm', version: "${asmVersion}"
implementation group: 'aopalliance', name: 'aopalliance', version: "${aopallianceVersion}"
implementation group: 'org.aspectj', name: 'aspectjtools', version: "${aspectjtoolsVersion}"
implementation group: 'xalan', name: 'serializer', version: "${serializerVersion}"
implementation group: 'xml-resolver', name: 'xml-resolver', version: "${xmlresolverVersion}"
implementation group: 'org.apache.santuario', name: 'xmlsec', version: "${xmlsecVersion}"
//implementation group: 'org.ogce', name: 'xpp3', version: "${xpp3Version}"
implementation group: 'com.thoughtworks.xstream', name: 'xstream', version: "${xstreamVersion}"
implementation group: 'org.passay', name: 'passay', version: "${passayVersion}"
implementation group: 'org.quartz-scheduler', name: 'quartz', version: "${quartzVersion}"
//ip offline
implementation group: 'org.lionsoul', name: 'ip2region', version: "${ip2regionVersion}"
implementation group: 'com.maxmind.db', name: 'maxmind-db', version: "${maxminddbVersion}"
implementation group: 'com.maxmind.geoip2', name: 'geoip2', version: "${maxmindgeoip2Version}"
//micrometer
implementation group: 'io.micrometer', name: 'micrometer-commons', version: "${micrometercoreVersion}"
implementation group: 'io.micrometer', name: 'micrometer-core', version: "${micrometercoreVersion}"
implementation group: 'io.micrometer', name: 'micrometer-observation', version: "${micrometercoreVersion}"
implementation group: 'io.micrometer', name: 'micrometer-registry-prometheus', 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: "${reflectionsVersion}"
//prometheus
implementation group: 'io.prometheus', name: 'simpleclient', version: "${prometheusVersion}"
implementation group: 'io.prometheus', name: 'simpleclient_tracer_common', version: "${prometheusVersion}"
implementation group: 'io.prometheus', name: 'simpleclient_tracer_otel', version: "${prometheusVersion}"
implementation group: 'io.prometheus', name: 'simpleclient_tracer_otel_agent', version: "${prometheusVersion}"
implementation group: 'io.prometheus', name: 'simpleclient_common', version: "${prometheusVersion}"
//
implementation group: 'com.aliyun', name: 'aliyun-java-sdk-core', version: "${aliyunjavasdkcoreVersion}"
//
implementation group: 'com.tencentcloudapi', name: 'tencentcloud-sdk-java', version: "${tencentcloudsdkjavaVersion}"
//docs
implementation group: 'io.swagger.core.v3', name: 'swagger-annotations', version: "${swaggerV3Version}"
implementation group: 'io.swagger.core.v3', name: 'swagger-core', version: "${swaggerV3Version}"
implementation group: 'io.swagger.core.v3', name: 'swagger-integration', version: "${swaggerV3Version}"
implementation group: 'io.swagger.core.v3', name: 'swagger-models', version: "${swaggerV3Version}"
implementation group: 'org.mapstruct', name: 'mapstruct', version: "${mapstructVersion}"
implementation group: 'io.swagger.core.v3', name: 'swagger-annotations-jakarta', version: "${swaggerV3Version}"
implementation group: 'io.swagger.core.v3', name: 'swagger-core-jakarta', version: "${swaggerV3Version}"
implementation group: 'io.swagger.core.v3', name: 'swagger-models-jakarta', version: "${swaggerV3Version}"
//springdoc
implementation group: 'io.github.classgraph', name: 'classgraph', version: "${classgraphVersion}"
implementation group: 'org.springdoc', name: 'springdoc-openapi-common', version: "${springdocVersion}"
implementation group: 'org.springdoc', name: 'springdoc-openapi-webmvc-core', version: "${springdocVersion}"
implementation group: 'org.springdoc', name: 'springdoc-openapi-ui', version: "${springdocVersion}"
implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-common', version: "${springdocVersion}"
implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-webmvc-api', version: "${springdocVersion}"
implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-webmvc-ui', version: "${springdocVersion}"
//webjars
implementation group: 'org.webjars', name: 'webjars-locator-core', version: "${webjarslocatorcoreVersion}"
implementation group: 'org.webjars', name: 'webjars-locator', version: "${webjarslocatorVersion}"
implementation group: 'org.webjars', name: 'swagger-ui', version: "${swaggeruiVersion}"
//knife4j
implementation group: 'com.github.xiaoymin', name: 'knife4j-core', version: "${knife4jVersion}"
implementation group: 'com.github.xiaoymin', name: 'knife4j-openapi3-ui', version: "${knife4jVersion}"
implementation group: 'com.github.xiaoymin', name: 'knife4j-openapi3-spring-boot-starter', version: "${knife4jVersion}"
implementation group: 'com.github.xiaoymin', name: 'knife4j-openapi3-jakarta-spring-boot-starter', version: "${knife4jVersion}"
//local jars
implementation fileTree(dir: "${rootDir}/maxkey-lib/", include: '*.jar')
}

View File

@ -15,36 +15,40 @@
# */
#maxkey properties
group =org.dromara.maxkey
version =3.5.19
version =4.0.0
vendor =https://www.maxkey.top
author =MaxKeyTop
#docker jib image
jibFromImage =adoptopenjdk:8-jre
jibToImage =maxkeytop
jibToAuthUsername =maxkeytop
jibToAuthPassword =docker registry credential
jibFromImage =eclipse-temurin:17-jre
jibToImage =maxkeytop
jibToAuthUsername =maxkeytop
jibToAuthPassword =docker registry credential
#maxkey used jars version
#spring
springVersion =5.3.29
springBootVersion =2.7.14
springSecurityVersion =5.7.10
springDataVersion =2.7.8
springkafkaVersion =2.9.0
springVersion =6.0.11
springBootVersion =3.1.2
springSecurityVersion =6.1.2
springDataVersion =3.0.3
springkafkaVersion =3.0.6
springretryVersion =1.3.3
springplugincoreVersion =2.0.0.RELEASE
springpluginmetadataVersion =2.0.0.RELEASE
springcloudVersion =3.1.4
springcloudalibabaVersion =2021.1
#spring plugin
springplugincoreVersion =3.0.0
springpluginmetadataVersion =3.0.0
#spring cloud
springcloudVersion =4.0.4
#spring cloud alibaba
springcloudalibabaVersion =2022.0.0.0
springcloudalibabaspringVersion =1.0.11
springcloudalibabacsplVersion =1.8.5
alibabanacosclientVersion =2.0.4
#Apache
alibabanacosclientVersion =2.2.3
#Apache commons
commonsbeanutilsVersion =1.9.4
commonscodecVersion =1.15
commonscollectionsVersion =3.2.2
commonscollections4Version =4.4
commonscompressVersion =1.21
commonscsvVersion =1.7
commonstextVersion =1.9
commonsdbcp2Version =2.9.0
@ -53,141 +57,150 @@ commonsdigester3Version =3.2
commonsdigesterVersion =2.1
commonsioVersion =2.8.0
commonslangVersion =2.6
commonslang3Version =3.11
commonslang3Version =3.12.0
commonsloggingVersion =1.2
commonspool2Version =2.11.1
commonshttpclientVersion =3.1
commonsfileuploadVersion =1.5
commonsemailVersion =1.5
commonsvalidatorVersion =1.7
#Apache Http
#v4
httpcomponentsVersion =4.5.14
httpcoreVersion =4.4.16
httpcoreVersion =4.4.6
httpasyncclientVersion =4.1.5
#v5
httpcomponentscore5Version =5.2.1
#Libs
velocityVersion =1.7
velocitydepVersion =1.4
freemarkerVersion =2.3.32
xmlbeansVersion =5.0.2
commonscompressVersion =1.21
poiVersion =5.2.3
#apache mq
kafkaclientsVersion =2.8.9
rocketmqclientVersion =4.9.4
rocketmqspringbootVersion =2.2.2
#apache tomcat
tomcatVersion =9.0.78
#tomcat
tomcatVersion =10.1.11
#logs
log4jVersion =2.20.0
slf4jVersion =1.7.36
jbossloggingVersion =3.4.3.Final
slf4jVersion =2.0.7
jbossloggingVersion =3.5.0.Final
#Messaging Kafka & RocketMQ
kafkaclientsVersion =3.4.0
rocketmqclientVersion =5.1.0
rocketmqspringbootVersion =2.2.3
#google
jibGradlePluginVersion =3.2.0
jhlabsfiltersVersion =2.0.235-1
kaptchaVersion =2.3.2
guavaVersion =31.1-jre
tinkVersion =1.7.0
tinkVersion =1.8.0
zxingcoreVersion =3.5.1
concurrentlinkedhashmaplruVersion =1.4.2
#json
gsonVersion =2.10.1
jacksonVersion =2.14.1
gsonVersion =2.9.1
jacksonVersion =2.15.0
fastjsonVersion =1.2.83
minidevjsonsmartVersion =2.4.5
#database
postgresqlVersion =42.4.1
mysqlconnectorjavaVersion =8.0.32
hibernateVersion =6.2.5.Final
dm8JdbcDriverVersion =8.1.2.192
postgresqlVersion =42.4.1
druidVersion =1.2.16
druidspringbootstarterVersion =1.2.16
jedisVersion =4.2.3
caffeineVersion =2.9.3
hazelcastVersion =4.2.2
jedisVersion =4.3.2
caffeineVersion =3.1.5
hibernateVersion =7.0.5.Final
mybatisVersion =3.5.12
mybatisspringVersion =2.0.7
mybatisspringVersion =3.0.1
mybatisjpaextraVersion =3.2
#saml
opensamlVersion =2.6.6
openwsVersion =1.5.6
xmltoolingVersion =1.4.6
javasupportVersion =7.5.1
#doc
swaggerV3Version =2.2.8
classgraphVersion =4.8.137
webjarslocatorcoreVersion =0.48
webjarslocatorVersion =0.42
swaggeruiVersion =4.11.1
springdocVersion =1.6.15
knife4jVersion =4.0.0
javasupportVersion =8.0.0
#jakarta
jakartaannotationVersion =2.0.0
jakartavalidationapiVersion =3.0.0
jakartaannotationVersion =2.1.1
jakartaactivationVersion =2.1.1
jakartamailapiVersion =2.1.1
jakartapersistenceapiVersion =3.0.0
jakartatransactionapiVersion =2.0.1
jakartavalidationapiVersion =3.0.2
jakartaxmlbindapiVersion =3.0.1
#mail
angusjakartamailVersion =2.0.1
angusactivationVersion =2.0.0
#xml
xmlbindjaxbcoreVersion =3.0.2
xmlbindjaxbimplVersion =3.0.2
xmlbindjaxbxjcVersion =3.0.2
#jwt
nimbusjosejwtVersion =9.31
jcipannotationsVersion =1.0-1
#others
thymeleafVersion =3.0.15.RELEASE
nettyVersion =4.1.65.Final
hazelcastVersion =4.2.2
attoparserVersion =2.0.5.RELEASE
unbescapeVersion =1.1.6.RELEASE
woodstoxVersion =6.2.8
bouncycastleVersion =1.69
bouncycastleVersion =1.71
junitVersion =4.11
mockitoallVersion =1.10.19
xmlunitVersion =1.6
nimbusjosejwtVersion =9.25
jcipannotationsVersion =1.0
minidevjsonsmartVersion =2.4.5
mockitoallVersion =1.10.19
minidevasmVersion =1.0.2
javassistVersion =3.29.0-GA
esapiVersion =2.2.0.0
#javax
javaxmailVersion =1.6.2
javaxpersistenceVersion =2.2.1
javaxtransactionapiVersion =1.3
javaxannotationapiVersion =1.3.2
activationVersion =1.1.1
jtaVersion =1.1
validationapiVersion =2.0.1.Final
jsr173Version =1.0
jaxbapiVersion =2.3.1
jaxbcoreVersion =3.0.2
jaxbimplVersion =3.0.2
jaxbxjcVersion =3.0.2
classmateVersion =1.5.0
classmateVersion =1.5.1
reactivestreamsVersion =1.0.4
reactorcoreVersion =3.4.21
reactornettyVersion =1.0.21
reactorextraVersion =3.4.8
reactorcoreVersion =3.5.3
reactornettyVersion =1.1.4
reactorextraVersion =3.5.0
szxcvbnVersion =0.2
jodatimeVersion =2.12.1
snakeyamlVersion =1.32
nekohtmlVersion =1.9.22
ognlVersion =3.3.3
cglibVersion =3.3.0
asmVersion =9.3
asmVersion =9.4
aopallianceVersion =1.0
aspectjtoolsVersion =1.9.4
aspectjtoolsVersion =1.9.9.1
evictorVersion =1.0.0
lettuceVersion =6.1.9.RELEASE
reflectionsVersion =0.10.2
thymeleafVersion =3.0.15.RELEASE
nettyVersion =4.1.65.Final
#xml
jdomVersion =2.0.2
dom4jVersion =1.6.1
jdom2Version =2.0.6.1
dom4jVersion =2.1.4
serializerVersion =2.7.2
xmlresolverVersion =1.2
xmlsecVersion =2.1.7
xpp3Version =1.1.6
xstreamVersion =1.4.19
#others
quartzVersion =2.3.2
passayVersion =1.6.2
LatencyUtilsVersion =2.0.3
stax2apiVersion =4.2.1
mapstructVersion =1.4.1.Final
opentracingVersion =0.33.0
ip2regionVersion =2.6.5
pinyin4jVersion =2.5.1
simplehttpVersion =1.0.5
JustAuthVersion =1.16.5
jsoupVersion =1.15.3
#monitor
#tools
quartzVersion =2.3.2
springbootadminVersion =2.7.3
micrometercoreVersion =1.9.10
jodatimeVersion =2.12.2
snakeyamlVersion =2.0
ip2regionVersion =2.7.0
maxminddbVersion =3.0.0
maxmindgeoip2Version =4.0.1
pinyin4jVersion =2.5.1
jsoupVersion =1.15.4
micrometercoreVersion =1.10.5
prometheusVersion =0.16.0
mapstructVersion =1.5.3.Final
JustAuthVersion =1.16.5
simplehttpVersion =1.0.5
#doc
swaggerV3Version =2.2.8
classgraphVersion =4.8.149
webjarslocatorcoreVersion =0.52
webjarslocatorVersion =0.46
swaggeruiVersion =4.18.1
springdocVersion =2.0.2
knife4jVersion =4.0.0
#sdk
aliyunjavasdkcoreVersion =4.5.1
tencentcloudsdkjavaVersion =3.1.33

View File

@ -17,8 +17,6 @@
package org.dromara.maxkey.authn.web;
import javax.servlet.http.HttpServletRequest;
import org.dromara.maxkey.authn.jwt.AuthJwt;
import org.dromara.maxkey.authn.jwt.AuthRefreshTokenService;
import org.dromara.maxkey.authn.jwt.AuthTokenService;
@ -37,6 +35,8 @@ import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import jakarta.servlet.http.HttpServletRequest;
@Controller
@RequestMapping(value = "/auth")
public class AuthTokenRefreshPoint {

View File

@ -19,8 +19,6 @@ package org.dromara.maxkey.authn.web;
import java.text.ParseException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import org.dromara.maxkey.authn.SignPrincipal;
import org.dromara.maxkey.authn.jwt.AuthTokenService;
@ -34,6 +32,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.security.core.Authentication;
import jakarta.servlet.http.Cookie;
import jakarta.servlet.http.HttpServletRequest;
public class AuthorizationUtils {
private static final Logger _logger = LoggerFactory.getLogger(AuthorizationUtils.class);

View File

@ -19,9 +19,6 @@ package org.dromara.maxkey.authn.web;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.dromara.maxkey.authn.annotation.CurrentUser;
import org.dromara.maxkey.entity.FileUpload;
import org.dromara.maxkey.entity.Message;
@ -36,6 +33,9 @@ import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
@Controller
public class FileUploadEndpoint {

View File

@ -17,10 +17,6 @@ package org.dromara.maxkey.authn.web;
import java.util.Date;
import javax.servlet.annotation.WebListener;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
import org.dromara.maxkey.authn.SignPrincipal;
import org.dromara.maxkey.util.DateUtils;
@ -30,6 +26,11 @@ import org.slf4j.LoggerFactory;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.userdetails.User;
import jakarta.servlet.annotation.WebListener;
import jakarta.servlet.http.HttpSession;
import jakarta.servlet.http.HttpSessionEvent;
import jakarta.servlet.http.HttpSessionListener;
@WebListener
public class HttpSessionListenerAdapter implements HttpSessionListener {
private static final Logger _logger = LoggerFactory.getLogger(HttpSessionListenerAdapter.class);

View File

@ -17,8 +17,6 @@
package org.dromara.maxkey.authn.web;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils;
import org.dromara.maxkey.configuration.ApplicationConfig;
import org.dromara.maxkey.entity.Institutions;
@ -33,6 +31,8 @@ import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import jakarta.servlet.http.HttpServletRequest;
@Controller
@RequestMapping(value = "/inst")
public class InstitutionEndpoint {

View File

@ -18,9 +18,6 @@
package org.dromara.maxkey.authn.web;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.dromara.maxkey.web.WebConstants;
import org.dromara.maxkey.web.WebContext;
@ -33,6 +30,10 @@ import org.springframework.security.web.savedrequest.RequestCache;
import org.springframework.security.web.savedrequest.SavedRequest;
import org.springframework.util.StringUtils;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
/**
* An authentication success strategy which can make use of the
* {@link DefaultSavedRequest} which may have been stored in the session by the

View File

@ -21,8 +21,6 @@ import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -34,6 +32,9 @@ import com.fasterxml.jackson.core.exc.StreamWriteException;
import com.fasterxml.jackson.databind.DatabindException;
import com.fasterxml.jackson.databind.ObjectMapper;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
@Controller
@RequestMapping(value = "/auth")
public class UnauthorizedEntryPoint {

View File

@ -17,9 +17,6 @@
package org.dromara.maxkey.authn.web.interceptor;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.dromara.maxkey.authn.SignPrincipal;
import org.dromara.maxkey.authn.jwt.AuthTokenService;
@ -31,6 +28,10 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.AsyncHandlerInterceptor;
import jakarta.servlet.RequestDispatcher;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
/**
* 权限Interceptor处理
* @author Crystal.Sea

View File

@ -18,14 +18,16 @@
package org.dromara.maxkey.password.onetimepwd.impl;
import java.text.MessageFormat;
import org.apache.commons.mail.DefaultAuthenticator;
import org.apache.commons.mail.Email;
import org.apache.commons.mail.HtmlEmail;
import java.util.Properties;
import org.dromara.maxkey.configuration.EmailConfig;
import org.dromara.maxkey.entity.UserInfo;
import org.dromara.maxkey.password.onetimepwd.AbstractOtpAuthn;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
public class MailOtpAuthn extends AbstractOtpAuthn {
private static final Logger _logger = LoggerFactory.getLogger(MailOtpAuthn.class);
@ -57,26 +59,28 @@ public class MailOtpAuthn extends AbstractOtpAuthn {
public boolean produce(UserInfo userInfo) {
try {
String token = this.genToken(userInfo);
Email email = new HtmlEmail();
email.setCharset(this.defaultEncoding);
email.setHostName(emailConfig.getSmtpHost());
email.setSmtpPort(emailConfig.getPort());
email.setSSLOnConnect(emailConfig.isSsl());
email.setAuthenticator(
new DefaultAuthenticator(emailConfig.getUsername(), emailConfig.getPassword()));
email.setFrom(emailConfig.getSender());
email.setSubject(subject);
email.setMsg(
MessageFormat.format(
messageTemplate,userInfo.getUsername(),token,(interval / 60)));
//Sender
JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl();
javaMailSender.setUsername(emailConfig.getUsername());
javaMailSender.setPassword(emailConfig.getPassword());
Properties properties = new Properties();
properties.put("mail.smtp.auth","true");
javaMailSender.setJavaMailProperties(properties);
javaMailSender.setHost(emailConfig.getSmtpHost());
javaMailSender.setPort(emailConfig.getPort());
//MailMessage
SimpleMailMessage mailMessage = new SimpleMailMessage();
mailMessage.setFrom(emailConfig.getSender());
mailMessage.setTo(userInfo.getEmail());
mailMessage.setSubject(subject);
mailMessage.setText(
MessageFormat.format(
messageTemplate,userInfo.getUsername(),token,(interval / 60)));
javaMailSender.send(mailMessage);
email.addTo(userInfo.getEmail());
try {
email.send();
}catch (Exception e){
e.printStackTrace();
}
_logger.debug(
"token " + token + " send to user " + userInfo.getUsername()
+ ", email " + userInfo.getEmail());
@ -120,3 +124,4 @@ public class MailOtpAuthn extends AbstractOtpAuthn {
}

View File

@ -19,9 +19,6 @@ package org.dromara.maxkey.authn.realm.ldap;
import java.util.List;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import org.dromara.maxkey.authn.realm.AbstractAuthenticationRealm;
import org.dromara.maxkey.authn.realm.IAuthenticationServer;
import org.dromara.maxkey.entity.UserInfo;
@ -29,6 +26,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.jdbc.core.JdbcTemplate;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
public class LdapAuthenticationRealm extends AbstractAuthenticationRealm{
private final static Logger _logger = LoggerFactory.getLogger(LdapAuthenticationRealm.class);

View File

@ -17,8 +17,6 @@
package org.dromara.maxkey.authn.support.basic;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.dromara.maxkey.authn.LoginCredential;
import org.dromara.maxkey.authn.provider.AbstractAuthenticationProvider;
@ -33,6 +31,9 @@ import org.springframework.security.authentication.UsernamePasswordAuthenticatio
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.web.servlet.AsyncHandlerInterceptor;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
public class BasicEntryPoint implements AsyncHandlerInterceptor {
private static final Logger _logger = LoggerFactory.getLogger(BasicEntryPoint.class);

View File

@ -19,9 +19,6 @@ package org.dromara.maxkey.authn.support.certs;
import java.security.cert.X509Certificate;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.dromara.maxkey.authn.provider.AbstractAuthenticationProvider;
import org.dromara.maxkey.authn.support.httpheader.HttpHeaderEntryPoint;
import org.slf4j.Logger;
@ -30,6 +27,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.web.servlet.AsyncHandlerInterceptor;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
public class HttpCertsEntryPoint implements AsyncHandlerInterceptor {
private static final Logger _logger = LoggerFactory.getLogger(HttpHeaderEntryPoint.class);

View File

@ -17,9 +17,6 @@
package org.dromara.maxkey.authn.support.httpheader;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.dromara.maxkey.authn.LoginCredential;
import org.dromara.maxkey.authn.provider.AbstractAuthenticationProvider;
import org.dromara.maxkey.constants.ConstsLoginType;
@ -31,6 +28,9 @@ import org.springframework.security.authentication.UsernamePasswordAuthenticatio
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.web.servlet.AsyncHandlerInterceptor;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
public class HttpHeaderEntryPoint implements AsyncHandlerInterceptor {
private static final Logger _logger = LoggerFactory.getLogger(HttpHeaderEntryPoint.class);

View File

@ -17,9 +17,6 @@
package org.dromara.maxkey.authn.support.kerberos;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.dromara.maxkey.authn.LoginCredential;
import org.dromara.maxkey.authn.provider.AbstractAuthenticationProvider;
import org.dromara.maxkey.authn.web.AuthorizationUtils;
@ -34,6 +31,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.servlet.AsyncHandlerInterceptor;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
public class HttpKerberosEntryPoint implements AsyncHandlerInterceptor {
private static final Logger _logger = LoggerFactory.getLogger(HttpKerberosEntryPoint.class);

View File

@ -19,8 +19,6 @@ package org.dromara.maxkey.authn.support.rememberme;
import java.text.ParseException;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.dromara.maxkey.authn.SignPrincipal;
import org.dromara.maxkey.authn.jwt.AuthTokenService;
@ -36,6 +34,9 @@ import org.springframework.security.core.Authentication;
import com.nimbusds.jwt.JWTClaimsSet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
public abstract class AbstractRemeberMeManager {
private static final Logger _logger = LoggerFactory.getLogger(AbstractRemeberMeManager.class);

View File

@ -17,8 +17,6 @@
package org.dromara.maxkey.authn.support.wsfederation;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.dromara.maxkey.authn.LoginCredential;
import org.dromara.maxkey.authn.provider.AbstractAuthenticationProvider;
@ -31,6 +29,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.servlet.AsyncHandlerInterceptor;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
public class HttpWsFederationEntryPoint implements AsyncHandlerInterceptor {
private static final Logger _logger = LoggerFactory.getLogger(HttpWsFederationEntryPoint.class);

View File

@ -21,7 +21,8 @@ package org.dromara.maxkey.authn.support.wsfederation;
import org.opensaml.xml.security.x509.BasicX509Credential;
import org.springframework.core.io.Resource;
import javax.validation.constraints.NotNull;
import jakarta.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.List;

View File

@ -20,8 +20,6 @@
*/
package org.dromara.maxkey.authn.support.socialsignon;
import javax.servlet.http.HttpServletRequest;
import me.zhyd.oauth.request.AuthMaxkeyRequest;
import org.apache.commons.lang3.StringUtils;
import org.dromara.maxkey.authn.LoginCredential;
@ -40,6 +38,8 @@ import org.springframework.http.ResponseEntity;
import org.springframework.security.core.Authentication;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import jakarta.servlet.http.HttpServletRequest;
import me.zhyd.oauth.request.AuthRequest;
import java.util.Map;

View File

@ -24,7 +24,6 @@ import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import javax.annotation.PostConstruct;
import org.dromara.maxkey.crypto.jose.keystore.JWKSetKeyStore;
import org.dromara.maxkey.crypto.jwt.encryption.service.JwtEncryptionAndDecryptionService;
@ -46,6 +45,8 @@ import com.nimbusds.jose.jwk.JWK;
import com.nimbusds.jose.jwk.OctetSequenceKey;
import com.nimbusds.jose.jwk.RSAKey;
import jakarta.annotation.PostConstruct;
/**
* @author wkim
*

View File

@ -22,8 +22,6 @@ package org.dromara.maxkey.crypto.jwt.signer.service.impl;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.dromara.maxkey.crypto.jose.keystore.JWKSetKeyStore;
import org.dromara.maxkey.crypto.jwt.encryption.service.JwtEncryptionAndDecryptionService;
import org.dromara.maxkey.crypto.jwt.encryption.service.impl.DefaultJwtEncryptionAndDecryptionService;
@ -105,8 +103,9 @@ public class JWKSetCacheService {
*
*/
private class JWKSetVerifierFetcher extends CacheLoader<String, JwtSigningAndValidationService> {
private HttpClient httpClient = HttpClientBuilder.create().useSystemProperties().build();
private HttpComponentsClientHttpRequestFactory httpFactory = new HttpComponentsClientHttpRequestFactory(httpClient);
//private HttpClient httpClient = HttpClientBuilder.create().useSystemProperties().build();
//private HttpComponentsClientHttpRequestFactory httpFactory = new HttpComponentsClientHttpRequestFactory(httpClient);
private HttpComponentsClientHttpRequestFactory httpFactory = new HttpComponentsClientHttpRequestFactory();
private RestTemplate restTemplate = new RestTemplate(httpFactory);
/**
@ -133,8 +132,9 @@ public class JWKSetCacheService {
*
*/
private class JWKSetEncryptorFetcher extends CacheLoader<String, JwtEncryptionAndDecryptionService> {
private HttpClient httpClient = HttpClientBuilder.create().useSystemProperties().build();
private HttpComponentsClientHttpRequestFactory httpFactory = new HttpComponentsClientHttpRequestFactory(httpClient);
//private HttpClient httpClient = HttpClientBuilder.create().useSystemProperties().build();
//private HttpComponentsClientHttpRequestFactory httpFactory = new HttpComponentsClientHttpRequestFactory(httpClient);
private HttpComponentsClientHttpRequestFactory httpFactory = new HttpComponentsClientHttpRequestFactory();
private RestTemplate restTemplate = new RestTemplate(httpFactory);
/* (non-Javadoc)
* @see com.google.common.cache.CacheLoader#load(java.lang.Object)

View File

@ -17,10 +17,10 @@
package org.dromara.maxkey.util;
import javax.servlet.http.HttpServletRequest;
import org.dromara.maxkey.crypto.Base64Utils;
import jakarta.servlet.http.HttpServletRequest;
/**
* @author Crystal.Sea
*

View File

@ -1,9 +1,10 @@
package org.dromara.maxkey.util;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils;
import jakarta.servlet.http.HttpServletRequest;
/**
* 从请求中解析token令牌信息,优先级顺序如下
* <p>

View File

@ -17,9 +17,6 @@
package org.maxkey.mail;
import org.apache.commons.mail.DefaultAuthenticator;
import org.apache.commons.mail.Email;
import org.apache.commons.mail.SimpleEmail;
public class MailTest {
@ -31,7 +28,7 @@ public class MailTest {
int port=465;
boolean ssl=true;
String senderMail="test@connsec.com";
/*
Email email = new SimpleEmail();
email.setHostName(smtpHost);
email.setSmtpPort(port);
@ -42,5 +39,6 @@ public class MailTest {
email.setMsg("You Token is "+111+" , it validity in "+5 +" minutes");
email.addTo("shimingxy@qq.com");
email.send();
*/
}
}

View File

@ -90,11 +90,11 @@ public class ApplicationAutoConfiguration implements InitializingBean {
@Bean
public PasswordEncoder passwordEncoder(
@Value("${maxkey.crypto.password.encoder:bcrypt}") String idForEncode) {
Map<String ,PasswordEncoder > encoders = new HashMap<String ,PasswordEncoder>();
Map<String ,PasswordEncoder > encoders = new HashMap<String ,PasswordEncoder>();
encoders.put("bcrypt", new BCryptPasswordEncoder());
encoders.put("plain", NoOpPasswordEncoder.getInstance());
encoders.put("pbkdf2", new Pbkdf2PasswordEncoder());
encoders.put("scrypt", new SCryptPasswordEncoder());
encoders.put("pbkdf2", Pbkdf2PasswordEncoder.defaultsForSpringSecurity_v5_8());
encoders.put("scrypt", SCryptPasswordEncoder.defaultsForSpringSecurity_v5_8());
//md
encoders.put("md4", new Md4PasswordEncoder());
encoders.put("md5", new MessageDigestPasswordEncoder("MD5"));

View File

@ -21,7 +21,6 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import javax.servlet.Filter;
import org.dromara.maxkey.configuration.ApplicationConfig;
import org.dromara.maxkey.constants.ConstsTimeInterval;
@ -53,7 +52,6 @@ import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
import org.springframework.web.filter.DelegatingFilterProxy;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.i18n.CookieLocaleResolver;
@ -61,6 +59,8 @@ 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 jakarta.servlet.Filter;
@AutoConfiguration
public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer {
@ -102,6 +102,7 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer
* upload file support .
* @return multipartResolver
*/
/*
@Bean (name = "multipartResolver")
public CommonsMultipartResolver commonsMultipartResolver(
@Value("${spring.servlet.multipart.max-file-size:0}") int maxUploadSize) {
@ -110,7 +111,7 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer
new CommonsMultipartResolver();
multipartResolver.setMaxUploadSize(maxUploadSize);
return multipartResolver;
}
}*/
/**
* handlerMapping .

View File

@ -5,8 +5,8 @@ import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springdoc.core.GroupedOpenApi;
import org.springdoc.core.customizers.GlobalOpenApiCustomizer;
import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean;

View File

@ -21,17 +21,17 @@ import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import org.hibernate.validator.constraints.Length;
import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
/*
ID varchar(40) not null,
UID varchar(40) null,
@ -43,14 +43,14 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
*/
@Entity
@Table(name = "MXK_ACCOUNTS")
public class Accounts extends JpaBaseEntity implements Serializable {
public class Accounts extends JpaEntity implements Serializable {
private static final long serialVersionUID = 6829592256223630307L;
public static final String DEFAULT_PASSWORD_SUFFIX = UserInfo.DEFAULT_PASSWORD_SUFFIX;
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
private String id;
@Column
private String userId;

View File

@ -20,17 +20,18 @@ package org.dromara.maxkey.entity;
import java.io.Serializable;
import java.util.Base64;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
@Entity
@Table(name = "MXK_ACCOUNTS_STRATEGY")
public class AccountsStrategy extends JpaBaseEntity implements Serializable {
public class AccountsStrategy extends JpaEntity implements Serializable {
/**
*
@ -38,7 +39,7 @@ public class AccountsStrategy extends JpaBaseEntity implements Serializable {
private static final long serialVersionUID = -8743329570694948718L;
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO,generator = "snowflakeid")
@GeneratedValue
private String id;
@Column
private String name;

View File

@ -17,9 +17,9 @@
package org.dromara.maxkey.entity;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import org.dromara.mybatis.jpa.entity.JpaEntity;
public class ChangePassword extends JpaBaseEntity{
public class ChangePassword extends JpaEntity{
/**
*

View File

@ -17,23 +17,23 @@
package org.dromara.maxkey.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import org.dromara.maxkey.pretty.impl.JsonPretty;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
@Entity
@Table(name = "MXK_CONNECTORS")
public class Connectors extends JpaBaseEntity implements Serializable {
public class Connectors extends JpaEntity implements Serializable {
private static final long serialVersionUID = 4660258495864814777L;
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
String id;
@Column
String connName;

View File

@ -17,18 +17,19 @@
package org.dromara.maxkey.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
@Entity
@Table(name = "MXK_EMAIL_SENDERS")
public class EmailSenders extends JpaBaseEntity{
public class EmailSenders extends JpaEntity{
/**
*
@ -37,7 +38,7 @@ public class EmailSenders extends JpaBaseEntity{
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
private String id;
@Column

View File

@ -19,17 +19,17 @@ package org.dromara.maxkey.entity;
import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.persistence.Column;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import java.io.IOException;
import java.io.InputStream;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import org.springframework.web.multipart.MultipartFile;
/**
@ -37,7 +37,7 @@ import org.springframework.web.multipart.MultipartFile;
* @author Crystal.Sea
*
*/
public class ExcelImport extends JpaBaseEntity {
public class ExcelImport extends JpaEntity {
/**
*
@ -46,7 +46,7 @@ public class ExcelImport extends JpaBaseEntity {
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
String id;
@JsonIgnore

View File

@ -17,26 +17,26 @@
package org.dromara.maxkey.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import org.springframework.web.multipart.MultipartFile;
import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
@Entity
@Table(name = "MXK_FILE_UPLOAD")
public class FileUpload extends JpaBaseEntity {
public class FileUpload extends JpaEntity {
private static final long serialVersionUID = -4338400992411166457L;
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
String id;
@Column

View File

@ -18,18 +18,18 @@ package org.dromara.maxkey.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
@Entity
@Table(name = "MXK_HISTORY_CONNECTOR")
public class HistoryConnector extends JpaBaseEntity implements Serializable {
public class HistoryConnector extends JpaEntity implements Serializable {
/**
*
@ -38,7 +38,7 @@ public class HistoryConnector extends JpaBaseEntity implements Serializable {
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
String id;
@Column

View File

@ -19,14 +19,14 @@ package org.dromara.maxkey.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
/**
@ -35,7 +35,7 @@ import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
*/
@Entity
@Table(name = "MXK_HISTORY_LOGIN")
public class HistoryLogin extends JpaBaseEntity implements Serializable{
public class HistoryLogin extends JpaEntity implements Serializable{
/**
*
@ -43,7 +43,7 @@ public class HistoryLogin extends JpaBaseEntity implements Serializable{
private static final long serialVersionUID = -1321470643357719383L;
@Id
@Column
@GeneratedValue(strategy=GenerationType.AUTO,generator="snowflakeid")
@GeneratedValue
String id;
@Column
String sessionId;

View File

@ -17,14 +17,13 @@
package org.dromara.maxkey.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
/**
* @author Crystal.Sea
@ -32,12 +31,12 @@ import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
*/
@Entity
@Table(name = "MXK_HISTORY_LOGIN_APPS")
public class HistoryLoginApps extends JpaBaseEntity {
public class HistoryLoginApps extends JpaEntity {
private static final long serialVersionUID = 5085201575292304749L;
@Id
@Column
@GeneratedValue(strategy=GenerationType.AUTO,generator="snowflakeid")
@GeneratedValue
String id;
@Column
private String sessionId;

View File

@ -19,18 +19,18 @@ package org.dromara.maxkey.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
@Entity
@Table(name = "MXK_HISTORY_SYNCHRONIZER")
public class HistorySynchronizer extends JpaBaseEntity implements Serializable{
public class HistorySynchronizer extends JpaEntity implements Serializable{
/**
*
@ -38,7 +38,7 @@ public class HistorySynchronizer extends JpaBaseEntity implements Serializable
private static final long serialVersionUID = -1184644499009162756L;
@Id
@Column
@GeneratedValue(strategy=GenerationType.AUTO,generator="snowflakeid")
@GeneratedValue
String id;
@Column
String syncId;

View File

@ -18,13 +18,14 @@
package org.dromara.maxkey.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
/**
* .
@ -33,11 +34,11 @@ import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
*/
@Entity
@Table(name = "MXK_HISTORY_SYSTEM_LOGS")
public class HistorySystemLogs extends JpaBaseEntity implements Serializable {
public class HistorySystemLogs extends JpaEntity implements Serializable {
private static final long serialVersionUID = 6560201093784960493L;
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
String id;
@Column
String topic;

View File

@ -17,23 +17,23 @@ package org.dromara.maxkey.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
@Entity
@Table(name = "MXK_INSTITUTIONS")
public class Institutions extends JpaBaseEntity implements Serializable {
public class Institutions extends JpaEntity implements Serializable {
private static final long serialVersionUID = -2375872012431214098L;
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
private String id;
@Column
private String name;

View File

@ -18,17 +18,18 @@
package org.dromara.maxkey.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
@Entity
@Table(name = "MXK_LDAP_CONTEXT")
public class LdapContext extends JpaBaseEntity implements Serializable {
public class LdapContext extends JpaEntity implements Serializable {
/**
@ -37,7 +38,7 @@ public class LdapContext extends JpaBaseEntity implements Serializable {
private static final long serialVersionUID = -4595539647817265938L;
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
String id;
@Column
String product;

View File

@ -19,18 +19,17 @@ package org.dromara.maxkey.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
@Entity
@Table(name = "MXK_LOCALIZATION")
public class Localization extends JpaBaseEntity implements Serializable {
public class Localization extends JpaEntity implements Serializable {
/**
*
@ -38,7 +37,7 @@ public class Localization extends JpaBaseEntity implements Serializable {
private static final long serialVersionUID = -142504964446659847L;
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
private String id;
@Column

View File

@ -18,13 +18,13 @@
package org.dromara.maxkey.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
/**
* root organization node,<br> id = instId or id = parentId or parentId = -1 or parentId = 0
@ -34,7 +34,7 @@ import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
@Entity
@Table(name = "MXK_ORGANIZATIONS")
public class Organizations extends JpaBaseEntity implements Serializable {
public class Organizations extends JpaEntity implements Serializable {
private static final long serialVersionUID = 5085413816404119803L;
@ -43,7 +43,7 @@ public class Organizations extends JpaBaseEntity implements Serializable {
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
private String id;
@Column
private String orgCode;

View File

@ -18,16 +18,17 @@
package org.dromara.maxkey.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
@Entity
@Table(name = "MXK_ORGANIZATIONS_CAST")
public class OrganizationsCast extends JpaBaseEntity implements Serializable {
public class OrganizationsCast extends JpaEntity implements Serializable {
/**
@ -36,7 +37,7 @@ public class OrganizationsCast extends JpaBaseEntity implements Serializable {
private static final long serialVersionUID = 5166920258761620856L;
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
private String id;
@Column
private String code;

View File

@ -17,14 +17,15 @@
package org.dromara.maxkey.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import jakarta.validation.constraints.NotNull;
import org.dromara.maxkey.constants.ConstsServiceMessage;
import org.dromara.maxkey.exception.PasswordPolicyException;
import org.dromara.maxkey.web.WebContext;
@ -39,12 +40,12 @@ import java.util.List;
@Entity
@Table(name = "MXK_PASSWORD_POLICY")
public class PasswordPolicy extends JpaBaseEntity implements java.io.Serializable {
public class PasswordPolicy extends JpaEntity implements java.io.Serializable {
private static final long serialVersionUID = -4797776994287829182L;
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
String id;
/**
* minimum password lengths

View File

@ -17,18 +17,17 @@
package org.dromara.maxkey.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
@Entity
@Table(name = "MXK_REGISTER")
public class Register extends JpaBaseEntity{
public class Register extends JpaEntity{
/**
*
@ -36,7 +35,7 @@ public class Register extends JpaBaseEntity{
private static final long serialVersionUID = -4021412077583763378L;
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
private String id;
@Column
private String displayName;

View File

@ -18,21 +18,22 @@
package org.dromara.maxkey.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
@Entity
@Table(name = "MXK_RESOURCES")
public class Resources extends JpaBaseEntity implements Serializable {
public class Resources extends JpaEntity implements Serializable {
private static final long serialVersionUID = 2567171742999638608L;
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO,generator = "snowflakeid")
@GeneratedValue
String id;
@Column
String resourceName;

View File

@ -19,12 +19,13 @@ package org.dromara.maxkey.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
/*
@ -43,7 +44,7 @@ public class RoleMember extends UserInfo implements Serializable{
private static final long serialVersionUID = -8059639972590554760L;
@Id
@Column
@GeneratedValue(strategy=GenerationType.AUTO,generator="snowflakeid")
@GeneratedValue
String id;
@Column
private String roleId;

View File

@ -19,12 +19,13 @@ package org.dromara.maxkey.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import org.dromara.maxkey.entity.apps.Apps;
@ -45,7 +46,7 @@ public class RolePermissions extends Apps implements Serializable{
private static final long serialVersionUID = 8634166407201007340L;
@Id
@Column
@GeneratedValue(strategy=GenerationType.AUTO,generator="snowflakeid")
@GeneratedValue
String id;
@Column
private String roleId;

View File

@ -18,24 +18,24 @@
package org.dromara.maxkey.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import org.dromara.maxkey.constants.ConstsStatus;
import org.dromara.maxkey.web.WebContext;
@Entity
@Table(name = "MXK_ROLE_PRIVILEGES")
public class RolePrivileges extends JpaBaseEntity implements Serializable {
public class RolePrivileges extends JpaEntity implements Serializable {
private static final long serialVersionUID = -8783585691243853899L;
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
String id;
@Column
String appId;

View File

@ -18,17 +18,18 @@
package org.dromara.maxkey.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import org.hibernate.validator.constraints.Length;
@Entity
@Table(name = "MXK_ROLES")
public class Roles extends JpaBaseEntity implements Serializable {
public class Roles extends JpaEntity implements Serializable {
private static final long serialVersionUID = 4660258495864814777L;
@ -43,7 +44,7 @@ public class Roles extends JpaBaseEntity implements Serializable {
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
String id;
@Length(max = 60)

View File

@ -18,14 +18,20 @@
package org.dromara.maxkey.entity;
import java.io.Serializable;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
/**
* Saml20Metadata.
* @author Crystal.Sea
*
*/
public class Saml20Metadata extends JpaBaseEntity implements Serializable {
public class Saml20Metadata extends JpaEntity implements Serializable {
private static final long serialVersionUID = -403743150268165622L;
public static final class ContactPersonType {

View File

@ -18,17 +18,17 @@
package org.dromara.maxkey.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
@Entity
@Table(name = "MXK_SMS_PROVIDER")
public class SmsProvider extends JpaBaseEntity implements Serializable {
public class SmsProvider extends JpaEntity implements Serializable {
/**
@ -37,7 +37,7 @@ public class SmsProvider extends JpaBaseEntity implements Serializable {
private static final long serialVersionUID = -4595539647817265938L;
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
String id;
@Column
String provider;

View File

@ -17,14 +17,13 @@
package org.dromara.maxkey.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
/**
*
@ -32,7 +31,7 @@ import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
*/
@Entity
@Table(name = "MXK_SOCIALS_ASSOCIATE")
public class SocialsAssociate extends JpaBaseEntity {
public class SocialsAssociate extends JpaEntity {
/**
*
@ -40,7 +39,7 @@ public class SocialsAssociate extends JpaBaseEntity {
private static final long serialVersionUID = 2151179554190800162L;
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO,generator = "snowflakeid")
@GeneratedValue
private String id;
@Column
private String provider;

View File

@ -19,14 +19,13 @@ package org.dromara.maxkey.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
/**
* @author Crystal.Sea
@ -34,14 +33,14 @@ import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
*/
@Entity
@Table(name = "MXK_SOCIALS_PROVIDER")
public class SocialsProvider extends JpaBaseEntity implements Serializable {
public class SocialsProvider extends JpaEntity implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1636727203025187769L;
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO,generator = "snowflakeid")
@GeneratedValue
private String id;
@Column
private String provider;

View File

@ -19,13 +19,13 @@ package org.dromara.maxkey.entity;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import org.dromara.maxkey.util.DateUtils;
/**
@ -36,12 +36,12 @@ import org.dromara.maxkey.util.DateUtils;
@Entity
@Table(name = "MXK_SYNCHRO_RELATED")
public class SynchroRelated extends JpaBaseEntity {
public class SynchroRelated extends JpaEntity {
private static final long serialVersionUID = 6993697309055585706L;
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
String id;
@Column
protected String objectId;

View File

@ -17,25 +17,25 @@
package org.dromara.maxkey.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import org.hibernate.validator.constraints.Length;
@Entity
@Table(name = "MXK_SYNCHRONIZERS")
public class Synchronizers extends JpaBaseEntity implements Serializable {
public class Synchronizers extends JpaEntity implements Serializable {
private static final long serialVersionUID = 4660258495864814777L;
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
String id;
@Length(max = 60)

View File

@ -21,13 +21,13 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import java.util.HashMap;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import org.dromara.maxkey.crypto.Base64Utils;
import org.dromara.maxkey.util.StringUtils;
@ -39,7 +39,7 @@ import org.dromara.maxkey.util.StringUtils;
@Entity
@Table(name = "MXK_USERINFO")
public class UserInfo extends JpaBaseEntity {
public class UserInfo extends JpaEntity {
private static final long serialVersionUID = 6402443942083382236L;
public static final String CLASS_TYPE = "UserInfo";
@ -51,7 +51,7 @@ public class UserInfo extends JpaBaseEntity {
//
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
String id;
@Column
protected String username;

View File

@ -17,18 +17,17 @@
package org.dromara.maxkey.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
@Entity
@Table(name = "MXK_USERINFO_ADJUNCT")
public class UserInfoAdjoint extends JpaBaseEntity {
public class UserInfoAdjoint extends JpaEntity {
/**
*
@ -37,7 +36,7 @@ public class UserInfoAdjoint extends JpaBaseEntity {
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
String id;
protected String displayName;

View File

@ -19,14 +19,13 @@ package org.dromara.maxkey.entity.apps;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import org.dromara.maxkey.constants.ConstsBoolean;
import org.dromara.maxkey.crypto.Base64Utils;
@ -34,7 +33,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
@Entity
@Table(name = "MXK_APPS")
public class Apps extends JpaBaseEntity implements Serializable {
public class Apps extends JpaEntity implements Serializable {
/**
*
@ -57,7 +56,7 @@ public class Apps extends JpaBaseEntity implements Serializable {
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
protected String id;
/**
*

View File

@ -18,17 +18,17 @@
package org.dromara.maxkey.entity.apps;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
@Entity
@Table(name = "MXK_APPS_ADAPTERS")
public class AppsAdapters extends JpaBaseEntity implements Serializable {
public class AppsAdapters extends JpaEntity implements Serializable {
/**
*
@ -37,7 +37,7 @@ public class AppsAdapters extends JpaBaseEntity implements Serializable {
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
protected String id;
/**
*

View File

@ -17,12 +17,13 @@
package org.dromara.maxkey.entity.apps;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
@Entity
@Table(name = "MXK_APPS_CAS_DETAILS")
@ -34,7 +35,7 @@ public class AppsCasDetails extends Apps {
private static final long serialVersionUID = -4272290765948322084L;
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
private String id;
@Column
private String service;

View File

@ -17,8 +17,13 @@
package org.dromara.maxkey.entity.apps;
import javax.persistence.Entity;
import javax.persistence.Table;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
@Entity
@Table(name = "MXK_APPS_EXTENDAPI_DETAILS")

View File

@ -17,12 +17,13 @@
package org.dromara.maxkey.entity.apps;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
/**
* @author Crystal.Sea
@ -37,7 +38,7 @@ public class AppsFormBasedDetails extends Apps {
private static final long serialVersionUID = 563313247706861431L;
@Id
@Column
@GeneratedValue(strategy=GenerationType.AUTO,generator="snowflakeid")
@GeneratedValue
protected String id;
@Column

View File

@ -20,12 +20,13 @@
*/
package org.dromara.maxkey.entity.apps;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
/**
* @author Crystal.Sea
@ -42,7 +43,7 @@ public class AppsJwtDetails extends Apps {
@Id
@Column
@GeneratedValue(strategy=GenerationType.AUTO,generator="snowflakeid")
@GeneratedValue
protected String id;
@Column

View File

@ -17,8 +17,13 @@
package org.dromara.maxkey.entity.apps;
import javax.persistence.Entity;
import javax.persistence.Table;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import org.dromara.maxkey.entity.apps.oauth2.provider.client.BaseClientDetails;
import org.springframework.util.StringUtils;

View File

@ -19,12 +19,13 @@ package org.dromara.maxkey.entity.apps;
import java.security.cert.X509Certificate;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
/**
* @author Crystal.Sea
@ -40,7 +41,7 @@ public class AppsSAML20Details extends Apps {
private static final long serialVersionUID = -291159876339333345L;
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO, generator = "snowflakeid")
@GeneratedValue
protected String id;
@Column
private String certIssuer;

View File

@ -20,12 +20,13 @@
*/
package org.dromara.maxkey.entity.apps;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
/**
* @author Crystal.Sea
@ -42,7 +43,7 @@ public class AppsTokenBasedDetails extends Apps {
@Id
@Column
@GeneratedValue(strategy=GenerationType.AUTO,generator="snowflakeid")
@GeneratedValue
protected String id;
/**
*

View File

@ -17,9 +17,9 @@
package org.dromara.maxkey.entity.xml;
import javax.xml.bind.annotation.XmlRootElement;
import org.dromara.mybatis.jpa.entity.JpaEntity;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import jakarta.xml.bind.annotation.XmlRootElement;
/**
* xml can not include array , MultipartFile
@ -27,7 +27,7 @@ import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
*
*/
@XmlRootElement
public class UserInfoXML extends JpaBaseEntity {
public class UserInfoXML extends JpaEntity {
/**
*

View File

@ -20,7 +20,6 @@ package org.dromara.maxkey.web;
import java.io.IOException;
import java.util.Map;
import javax.annotation.PostConstruct;
import org.dromara.maxkey.web.tag.FreemarkerTag;
import org.slf4j.Logger;
@ -33,6 +32,7 @@ import org.springframework.stereotype.Component;
import freemarker.template.Configuration;
import freemarker.template.TemplateException;
import jakarta.annotation.PostConstruct;
@Component
public class ConfigurerFreeMarker implements ApplicationContextAware {

View File

@ -17,14 +17,15 @@
package org.dromara.maxkey.web;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
/**
* Exception.
*

View File

@ -18,12 +18,12 @@
package org.dromara.maxkey.web;
import java.io.IOException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import org.dromara.maxkey.constants.ContentType;
import org.springframework.stereotype.Component;
import jakarta.servlet.ServletOutputStream;
import jakarta.servlet.http.HttpServletResponse;
@Component
public class HttpResponseAdapter {

View File

@ -20,10 +20,10 @@ package org.dromara.maxkey.web;
import org.apache.commons.lang.SystemUtils;
import org.apache.commons.lang3.ArchUtils;
import org.apache.commons.lang3.arch.Processor;
import org.apache.mybatis.jpa.util.JpaWebContext;
import org.dromara.maxkey.configuration.ApplicationConfig;
import org.dromara.maxkey.crypto.Md5Sum;
import org.dromara.maxkey.util.PathUtils;
import org.dromara.mybatis.jpa.spring.MybatisJpaContext;
import org.joda.time.DateTime;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -35,9 +35,10 @@ import org.springframework.core.env.PropertySource;
import org.springframework.core.env.StandardEnvironment;
import org.springframework.web.context.support.WebApplicationContextUtils;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import jakarta.servlet.ServletConfig;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;
@ -69,7 +70,7 @@ public class InitializeContext extends HttpServlet {
WebContext.applicationContext = applicationContext;
JpaWebContext.applicationContext = applicationContext;
MybatisJpaContext.init(applicationContext);
// List Environment Variables
listEnvVars();
@ -178,7 +179,6 @@ public class InitializeContext extends HttpServlet {
_logger.debug("propertySource {}" , it.next());
}
JpaWebContext.properties = WebContext.properties;
_logger.trace("-----------------------------------------------------------");
}
}

View File

@ -17,22 +17,21 @@
package org.dromara.maxkey.web;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.mybatis.jpa.util.JpaWebContext;
import org.dromara.maxkey.constants.ContentType;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
@Controller
public class MetadataEndpoint {
@RequestMapping(value = "/metadata/version",produces = ContentType.TEXT_PLAIN_UTF8, method={RequestMethod.GET})
@ResponseBody
public String metadata(HttpServletRequest request,HttpServletResponse response) {
return JpaWebContext.version();
return "";//WebContext.version();
}
}

View File

@ -24,10 +24,6 @@ import java.util.Enumeration;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.logging.LogFactory;
import org.dromara.maxkey.configuration.ApplicationConfig;
@ -47,6 +43,11 @@ import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.i18n.CookieLocaleResolver;
import org.springframework.web.servlet.support.RequestContextUtils;
import jakarta.servlet.http.Cookie;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
/**
* Application is common class for Web Application Context.
*

View File

@ -19,11 +19,6 @@ package org.dromara.maxkey.web;
import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils;
import org.dromara.maxkey.configuration.ApplicationConfig;
@ -33,6 +28,12 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.filter.GenericFilterBean;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.ServletRequest;
import jakarta.servlet.ServletResponse;
import jakarta.servlet.http.HttpServletRequest;
public class WebInstRequestFilter extends GenericFilterBean {
final static Logger _logger = LoggerFactory.getLogger(GenericFilterBean.class);

View File

@ -21,17 +21,18 @@ import java.io.IOException;
import java.util.Enumeration;
import java.util.concurrent.ConcurrentHashMap;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.text.StringEscapeUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.filter.GenericFilterBean;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.ServletRequest;
import jakarta.servlet.ServletResponse;
import jakarta.servlet.http.HttpServletRequest;
public class WebXssRequestFilter extends GenericFilterBean {
final static Logger _logger = LoggerFactory.getLogger(GenericFilterBean.class);

View File

@ -20,7 +20,6 @@ package org.dromara.maxkey.web.tag;
import java.io.IOException;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.dromara.maxkey.web.WebContext;
import org.springframework.beans.factory.annotation.Autowired;
@ -30,6 +29,7 @@ import freemarker.template.TemplateDirectiveBody;
import freemarker.template.TemplateDirectiveModel;
import freemarker.template.TemplateException;
import freemarker.template.TemplateModel;
import jakarta.servlet.http.HttpServletRequest;
/**
* <@basePath/>

View File

@ -20,8 +20,6 @@ package org.dromara.maxkey.web.tag;
import java.io.IOException;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import freemarker.core.Environment;
@ -29,6 +27,7 @@ import freemarker.template.TemplateDirectiveBody;
import freemarker.template.TemplateDirectiveModel;
import freemarker.template.TemplateException;
import freemarker.template.TemplateModel;
import jakarta.servlet.http.HttpServletRequest;
/**
* 获取应用上下文标签
* <@base/>

View File

@ -20,8 +20,6 @@ package org.dromara.maxkey.web.tag;
import java.io.IOException;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import freemarker.core.Environment;
@ -29,6 +27,7 @@ import freemarker.template.TemplateDirectiveBody;
import freemarker.template.TemplateDirectiveModel;
import freemarker.template.TemplateException;
import freemarker.template.TemplateModel;
import jakarta.servlet.http.HttpServletRequest;
/**
* 获取应用上下文标签
* <@browser name=""></@browser>

View File

@ -22,9 +22,10 @@ import freemarker.template.TemplateDirectiveBody;
import freemarker.template.TemplateDirectiveModel;
import freemarker.template.TemplateException;
import freemarker.template.TemplateModel;
import jakarta.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.dromara.maxkey.persistence.repository.LocalizationRepository;
import org.dromara.maxkey.web.WebContext;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
maxkey-lib/openws-2.0.0.jar Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -25,16 +25,16 @@ import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.apache.mybatis.jpa.persistence.IJpaBaseMapper;
import org.dromara.maxkey.entity.Accounts;
import org.dromara.maxkey.entity.AccountsStrategy;
import org.dromara.maxkey.entity.UserInfo;
import org.dromara.mybatis.jpa.IJpaMapper;
/**
* @author Crystal.sea
*
*/
public interface AccountsMapper extends IJpaBaseMapper<Accounts> {
public interface AccountsMapper extends IJpaMapper<Accounts> {
public List<UserInfo> queryUserNotInStrategy(AccountsStrategy strategy);

View File

@ -22,16 +22,16 @@ package org.dromara.maxkey.persistence.mapper;
import java.util.List;
import org.apache.mybatis.jpa.persistence.IJpaBaseMapper;
import org.dromara.maxkey.entity.AccountsStrategy;
import org.dromara.maxkey.entity.Roles;
import org.dromara.mybatis.jpa.IJpaMapper;
/**
* @author Crystal.sea
*
*/
public interface AccountsStrategyMapper extends IJpaBaseMapper<AccountsStrategy> {
public interface AccountsStrategyMapper extends IJpaMapper<AccountsStrategy> {
public List<Roles> queryDynamicGroups(Roles groups);
}

View File

@ -20,14 +20,14 @@
*/
package org.dromara.maxkey.persistence.mapper;
import org.apache.mybatis.jpa.persistence.IJpaBaseMapper;
import org.dromara.maxkey.entity.apps.AppsAdapters;
import org.dromara.mybatis.jpa.IJpaMapper;
/**
* @author Crystal.sea
*
*/
public interface AppsAdaptersMapper extends IJpaBaseMapper<AppsAdapters> {
public interface AppsAdaptersMapper extends IJpaMapper<AppsAdapters> {
}

View File

@ -20,14 +20,14 @@
*/
package org.dromara.maxkey.persistence.mapper;
import org.apache.mybatis.jpa.persistence.IJpaBaseMapper;
import org.dromara.maxkey.entity.apps.AppsCasDetails;
import org.dromara.mybatis.jpa.IJpaMapper;
/**
* @author Crystal.sea
*
*/
public interface AppsCasDetailsMapper extends IJpaBaseMapper<AppsCasDetails> {
public interface AppsCasDetailsMapper extends IJpaMapper<AppsCasDetails> {
public AppsCasDetails getAppDetails(String id) ;
}

View File

@ -20,14 +20,14 @@
*/
package org.dromara.maxkey.persistence.mapper;
import org.apache.mybatis.jpa.persistence.IJpaBaseMapper;
import org.dromara.maxkey.entity.apps.AppsFormBasedDetails;
import org.dromara.mybatis.jpa.IJpaMapper;
/**
* @author Crystal.sea
*
*/
public interface AppsFormBasedDetailsMapper extends IJpaBaseMapper<AppsFormBasedDetails> {
public interface AppsFormBasedDetailsMapper extends IJpaMapper<AppsFormBasedDetails> {
public AppsFormBasedDetails getAppDetails(String id) ;
}

View File

@ -20,14 +20,14 @@
*/
package org.dromara.maxkey.persistence.mapper;
import org.apache.mybatis.jpa.persistence.IJpaBaseMapper;
import org.dromara.maxkey.entity.apps.AppsJwtDetails;
import org.dromara.mybatis.jpa.IJpaMapper;
/**
* @author Crystal.sea
*
*/
public interface AppsJwtDetailsMapper extends IJpaBaseMapper<AppsJwtDetails> {
public interface AppsJwtDetailsMapper extends IJpaMapper<AppsJwtDetails> {
public AppsJwtDetails getAppDetails(String id);
}

View File

@ -23,15 +23,15 @@ package org.dromara.maxkey.persistence.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Update;
import org.apache.mybatis.jpa.persistence.IJpaBaseMapper;
import org.dromara.maxkey.entity.apps.Apps;
import org.dromara.maxkey.entity.apps.UserApps;
import org.dromara.mybatis.jpa.IJpaMapper;
/**
* @author Crystal.sea
*
*/
public interface AppsMapper extends IJpaBaseMapper<Apps> {
public interface AppsMapper extends IJpaMapper<Apps> {
public int insertApp(Apps app);

Some files were not shown because too many files have changed in this diff Show More