MaxKey 1 year ago
parent
commit
d2500690e2
100 changed files with 710 additions and 650 deletions
  1. 105 99
      build.gradle
  2. 98 85
      gradle.properties
  3. 2 2
      maxkey-authentications/maxkey-authentication-core/src/main/java/org/dromara/maxkey/authn/web/AuthTokenRefreshPoint.java
  4. 3 2
      maxkey-authentications/maxkey-authentication-core/src/main/java/org/dromara/maxkey/authn/web/AuthorizationUtils.java
  5. 3 3
      maxkey-authentications/maxkey-authentication-core/src/main/java/org/dromara/maxkey/authn/web/FileUploadEndpoint.java
  6. 5 4
      maxkey-authentications/maxkey-authentication-core/src/main/java/org/dromara/maxkey/authn/web/HttpSessionListenerAdapter.java
  7. 2 2
      maxkey-authentications/maxkey-authentication-core/src/main/java/org/dromara/maxkey/authn/web/InstitutionEndpoint.java
  8. 4 3
      maxkey-authentications/maxkey-authentication-core/src/main/java/org/dromara/maxkey/authn/web/SavedRequestAwareAuthenticationSuccessHandler.java
  9. 3 2
      maxkey-authentications/maxkey-authentication-core/src/main/java/org/dromara/maxkey/authn/web/UnauthorizedEntryPoint.java
  10. 4 3
      maxkey-authentications/maxkey-authentication-core/src/main/java/org/dromara/maxkey/authn/web/interceptor/PermissionInterceptor.java
  11. 26 21
      maxkey-authentications/maxkey-authentication-otp/src/main/java/org/dromara/maxkey/password/onetimepwd/impl/MailOtpAuthn.java
  12. 3 3
      maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/realm/ldap/LdapAuthenticationRealm.java
  13. 3 2
      maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/support/basic/BasicEntryPoint.java
  14. 3 3
      maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/support/certs/HttpCertsEntryPoint.java
  15. 3 3
      maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/support/httpheader/HttpHeaderEntryPoint.java
  16. 3 3
      maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/support/kerberos/HttpKerberosEntryPoint.java
  17. 3 2
      maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/support/rememberme/AbstractRemeberMeManager.java
  18. 3 2
      maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/support/wsfederation/HttpWsFederationEntryPoint.java
  19. 2 1
      maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/support/wsfederation/WsFederationConfiguration.java
  20. 2 2
      maxkey-authentications/maxkey-authentication-social/src/main/java/org/dromara/maxkey/authn/support/socialsignon/SocialSignOnEndpoint.java
  21. 2 1
      maxkey-common/src/main/java/org/dromara/maxkey/crypto/jwt/encryption/service/impl/DefaultJwtEncryptionAndDecryptionService.java
  22. 6 6
      maxkey-common/src/main/java/org/dromara/maxkey/crypto/jwt/signer/service/impl/JWKSetCacheService.java
  23. 2 2
      maxkey-common/src/main/java/org/dromara/maxkey/util/AuthorizationHeaderUtils.java
  24. 2 1
      maxkey-common/src/main/java/org/dromara/maxkey/util/RequestTokenUtils.java
  25. 2 4
      maxkey-common/src/test/java/org/maxkey/mail/MailTest.java
  26. 3 3
      maxkey-core/src/main/java/org/dromara/maxkey/autoconfigure/ApplicationAutoConfiguration.java
  27. 4 3
      maxkey-core/src/main/java/org/dromara/maxkey/autoconfigure/MvcAutoConfiguration.java
  28. 1 1
      maxkey-core/src/main/java/org/dromara/maxkey/autoconfigure/SwaggerConfig.java
  29. 9 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/Accounts.java
  30. 10 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/AccountsStrategy.java
  31. 2 2
      maxkey-core/src/main/java/org/dromara/maxkey/entity/ChangePassword.java
  32. 9 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/Connectors.java
  33. 10 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/EmailSenders.java
  34. 7 7
      maxkey-core/src/main/java/org/dromara/maxkey/entity/ExcelImport.java
  35. 10 10
      maxkey-core/src/main/java/org/dromara/maxkey/entity/FileUpload.java
  36. 9 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/HistoryConnector.java
  37. 9 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/HistoryLogin.java
  38. 8 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/HistoryLoginApps.java
  39. 9 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/HistorySynchronizer.java
  40. 10 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/HistorySystemLogs.java
  41. 9 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/Institutions.java
  42. 10 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/LdapContext.java
  43. 8 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/Localization.java
  44. 9 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/Organizations.java
  45. 10 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/OrganizationsCast.java
  46. 11 10
      maxkey-core/src/main/java/org/dromara/maxkey/entity/PasswordPolicy.java
  47. 8 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/Register.java
  48. 10 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/Resources.java
  49. 8 7
      maxkey-core/src/main/java/org/dromara/maxkey/entity/RoleMember.java
  50. 8 7
      maxkey-core/src/main/java/org/dromara/maxkey/entity/RolePermissions.java
  51. 9 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/RolePrivileges.java
  52. 10 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/Roles.java
  53. 8 2
      maxkey-core/src/main/java/org/dromara/maxkey/entity/Saml20Metadata.java
  54. 9 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/SmsProvider.java
  55. 8 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/SocialsAssociate.java
  56. 8 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/SocialsProvider.java
  57. 9 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/SynchroRelated.java
  58. 9 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/Synchronizers.java
  59. 9 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/UserInfo.java
  60. 8 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/UserInfoAdjoint.java
  61. 9 10
      maxkey-core/src/main/java/org/dromara/maxkey/entity/apps/Apps.java
  62. 9 9
      maxkey-core/src/main/java/org/dromara/maxkey/entity/apps/AppsAdapters.java
  63. 8 7
      maxkey-core/src/main/java/org/dromara/maxkey/entity/apps/AppsCasDetails.java
  64. 7 2
      maxkey-core/src/main/java/org/dromara/maxkey/entity/apps/AppsExtendApiDetails.java
  65. 8 7
      maxkey-core/src/main/java/org/dromara/maxkey/entity/apps/AppsFormBasedDetails.java
  66. 8 7
      maxkey-core/src/main/java/org/dromara/maxkey/entity/apps/AppsJwtDetails.java
  67. 7 2
      maxkey-core/src/main/java/org/dromara/maxkey/entity/apps/AppsOAuth20Details.java
  68. 8 7
      maxkey-core/src/main/java/org/dromara/maxkey/entity/apps/AppsSAML20Details.java
  69. 8 7
      maxkey-core/src/main/java/org/dromara/maxkey/entity/apps/AppsTokenBasedDetails.java
  70. 3 3
      maxkey-core/src/main/java/org/dromara/maxkey/entity/xml/UserInfoXML.java
  71. 1 1
      maxkey-core/src/main/java/org/dromara/maxkey/web/ConfigurerFreeMarker.java
  72. 3 2
      maxkey-core/src/main/java/org/dromara/maxkey/web/ExceptionEndpoint.java
  73. 3 3
      maxkey-core/src/main/java/org/dromara/maxkey/web/HttpResponseAdapter.java
  74. 6 6
      maxkey-core/src/main/java/org/dromara/maxkey/web/InitializeContext.java
  75. 4 5
      maxkey-core/src/main/java/org/dromara/maxkey/web/MetadataEndpoint.java
  76. 5 4
      maxkey-core/src/main/java/org/dromara/maxkey/web/WebContext.java
  77. 6 5
      maxkey-core/src/main/java/org/dromara/maxkey/web/WebInstRequestFilter.java
  78. 6 5
      maxkey-core/src/main/java/org/dromara/maxkey/web/WebXssRequestFilter.java
  79. 1 1
      maxkey-core/src/main/java/org/dromara/maxkey/web/tag/BasePathTagDirective.java
  80. 1 2
      maxkey-core/src/main/java/org/dromara/maxkey/web/tag/BaseTagDirective.java
  81. 1 2
      maxkey-core/src/main/java/org/dromara/maxkey/web/tag/BrowserTagDirective.java
  82. 2 1
      maxkey-core/src/main/java/org/dromara/maxkey/web/tag/LocaleTagDirective.java
  83. BIN
      maxkey-lib/kingbase8-8.6.0.jar
  84. BIN
      maxkey-lib/mybatis-jpa-extra-2.8.jar
  85. BIN
      maxkey-lib/mybatis-jpa-extra-3.2.jar
  86. BIN
      maxkey-lib/mybatis-jpa-extra-spring-boot-starter-2.8.jar
  87. BIN
      maxkey-lib/mybatis-jpa-extra-spring-boot-starter-3.2.jar
  88. BIN
      maxkey-lib/opensaml-2.6.6.jar
  89. BIN
      maxkey-lib/opensaml-2.6.7.jar
  90. BIN
      maxkey-lib/openws-1.5.6.jar
  91. BIN
      maxkey-lib/openws-2.0.0.jar
  92. BIN
      maxkey-lib/xmltooling-1.4.6.jar
  93. BIN
      maxkey-lib/xmltooling-1.4.7.jar
  94. 2 2
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/mapper/AccountsMapper.java
  95. 2 2
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/mapper/AccountsStrategyMapper.java
  96. 2 2
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/mapper/AppsAdaptersMapper.java
  97. 2 2
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/mapper/AppsCasDetailsMapper.java
  98. 2 2
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/mapper/AppsFormBasedDetailsMapper.java
  99. 2 2
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/mapper/AppsJwtDetailsMapper.java
  100. 2 2
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/mapper/AppsMapper.java

+ 105 - 99
build.gradle

@@ -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 {
@@ -89,8 +90,7 @@ allprojects {
                 prefs.append('encoding/<project>=UTF-8') //use UTF-8
             }
         }
-    }
-     
+    }  
 }
 
 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,60 +315,78 @@ 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}"
+         //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}"
+         implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jdk8', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-parameter-names', version: "${jacksonVersion}"
+         implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-jaxb-annotations', version: "${jacksonVersion}"
+         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}"
          //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.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: '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}"
+         //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.jdom', name: 'jdom', version: "${jdomVersion}"
+         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}"
@@ -374,67 +394,53 @@ subprojects {
          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: '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', 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
-         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}"
-         implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jdk8', version: "${jacksonVersion}"
-         implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: "${jacksonVersion}"
-         implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: "${jacksonVersion}"
-         implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: "${jacksonVersion}"
-         implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-parameter-names', version: "${jacksonVersion}"
-         implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-jaxb-annotations', version: "${jacksonVersion}"
-         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}"
-         implementation group: 'com.alibaba', name: 'fastjson', version: "${fastjsonVersion}"
-         implementation group: 'org.mapstruct', name: 'mapstruct', version: "${mapstructVersion}"
          //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')
     }

+ 98 - 85
gradle.properties

@@ -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

+ 2 - 2
maxkey-authentications/maxkey-authentication-core/src/main/java/org/dromara/maxkey/authn/web/AuthTokenRefreshPoint.java

@@ -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 {

+ 3 - 2
maxkey-authentications/maxkey-authentication-core/src/main/java/org/dromara/maxkey/authn/web/AuthorizationUtils.java

@@ -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);
 	

+ 3 - 3
maxkey-authentications/maxkey-authentication-core/src/main/java/org/dromara/maxkey/authn/web/FileUploadEndpoint.java

@@ -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 {
 	

+ 5 - 4
maxkey-authentications/maxkey-authentication-core/src/main/java/org/dromara/maxkey/authn/web/HttpSessionListenerAdapter.java

@@ -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);

+ 2 - 2
maxkey-authentications/maxkey-authentication-core/src/main/java/org/dromara/maxkey/authn/web/InstitutionEndpoint.java

@@ -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 {

+ 4 - 3
maxkey-authentications/maxkey-authentication-core/src/main/java/org/dromara/maxkey/authn/web/SavedRequestAwareAuthenticationSuccessHandler.java

@@ -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

+ 3 - 2
maxkey-authentications/maxkey-authentication-core/src/main/java/org/dromara/maxkey/authn/web/UnauthorizedEntryPoint.java

@@ -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 {

+ 4 - 3
maxkey-authentications/maxkey-authentication-core/src/main/java/org/dromara/maxkey/authn/web/interceptor/PermissionInterceptor.java

@@ -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

+ 26 - 21
maxkey-authentications/maxkey-authentication-otp/src/main/java/org/dromara/maxkey/password/onetimepwd/impl/MailOtpAuthn.java

@@ -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 {
     
 
 }
+

+ 3 - 3
maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/realm/ldap/LdapAuthenticationRealm.java

@@ -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);
 	

+ 3 - 2
maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/support/basic/BasicEntryPoint.java

@@ -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);
 	

+ 3 - 3
maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/support/certs/HttpCertsEntryPoint.java

@@ -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);
 	

+ 3 - 3
maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/support/httpheader/HttpHeaderEntryPoint.java

@@ -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);

+ 3 - 3
maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/support/kerberos/HttpKerberosEntryPoint.java

@@ -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);

+ 3 - 2
maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/support/rememberme/AbstractRemeberMeManager.java

@@ -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);
 

+ 3 - 2
maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/support/wsfederation/HttpWsFederationEntryPoint.java

@@ -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);

+ 2 - 1
maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/support/wsfederation/WsFederationConfiguration.java

@@ -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;
 

+ 2 - 2
maxkey-authentications/maxkey-authentication-social/src/main/java/org/dromara/maxkey/authn/support/socialsignon/SocialSignOnEndpoint.java

@@ -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;

+ 2 - 1
maxkey-common/src/main/java/org/dromara/maxkey/crypto/jwt/encryption/service/impl/DefaultJwtEncryptionAndDecryptionService.java

@@ -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
  *

+ 6 - 6
maxkey-common/src/main/java/org/dromara/maxkey/crypto/jwt/signer/service/impl/JWKSetCacheService.java

@@ -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)

+ 2 - 2
maxkey-common/src/main/java/org/dromara/maxkey/util/AuthorizationHeaderUtils.java

@@ -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
  *

+ 2 - 1
maxkey-common/src/main/java/org/dromara/maxkey/util/RequestTokenUtils.java

@@ -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>

+ 2 - 4
maxkey-common/src/test/java/org/maxkey/mail/MailTest.java

@@ -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();
+	*/
 	}
 }

+ 3 - 3
maxkey-core/src/main/java/org/dromara/maxkey/autoconfigure/ApplicationAutoConfiguration.java

@@ -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"));

+ 4 - 3
maxkey-core/src/main/java/org/dromara/maxkey/autoconfigure/MvcAutoConfiguration.java

@@ -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 .

+ 1 - 1
maxkey-core/src/main/java/org/dromara/maxkey/autoconfigure/SwaggerConfig.java

@@ -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;

+ 9 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/Accounts.java

@@ -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;

+ 10 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/AccountsStrategy.java

@@ -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;

+ 2 - 2
maxkey-core/src/main/java/org/dromara/maxkey/entity/ChangePassword.java

@@ -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{
 
 	/**
 	 * 

+ 9 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/Connectors.java

@@ -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;

+ 10 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/EmailSenders.java

@@ -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

+ 7 - 7
maxkey-core/src/main/java/org/dromara/maxkey/entity/ExcelImport.java

@@ -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

+ 10 - 10
maxkey-core/src/main/java/org/dromara/maxkey/entity/FileUpload.java

@@ -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

+ 9 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/HistoryConnector.java

@@ -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

+ 9 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/HistoryLogin.java

@@ -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;

+ 8 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/HistoryLoginApps.java

@@ -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;

+ 9 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/HistorySynchronizer.java

@@ -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;

+ 10 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/HistorySystemLogs.java

@@ -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;

+ 9 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/Institutions.java

@@ -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;

+ 10 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/LdapContext.java

@@ -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;

+ 8 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/Localization.java

@@ -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

+ 9 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/Organizations.java

@@ -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;

+ 10 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/OrganizationsCast.java

@@ -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;

+ 11 - 10
maxkey-core/src/main/java/org/dromara/maxkey/entity/PasswordPolicy.java

@@ -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

+ 8 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/Register.java

@@ -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;

+ 10 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/Resources.java

@@ -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;

+ 8 - 7
maxkey-core/src/main/java/org/dromara/maxkey/entity/RoleMember.java

@@ -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;

+ 8 - 7
maxkey-core/src/main/java/org/dromara/maxkey/entity/RolePermissions.java

@@ -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;

+ 9 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/RolePrivileges.java

@@ -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;

+ 10 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/Roles.java

@@ -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)

+ 8 - 2
maxkey-core/src/main/java/org/dromara/maxkey/entity/Saml20Metadata.java

@@ -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 {

+ 9 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/SmsProvider.java

@@ -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;

+ 8 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/SocialsAssociate.java

@@ -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;

+ 8 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/SocialsProvider.java

@@ -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;

+ 9 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/SynchroRelated.java

@@ -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;

+ 9 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/Synchronizers.java

@@ -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)

+ 9 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/UserInfo.java

@@ -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;

+ 8 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/UserInfoAdjoint.java

@@ -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;

+ 9 - 10
maxkey-core/src/main/java/org/dromara/maxkey/entity/apps/Apps.java

@@ -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.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.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;
     /**
      * 

+ 9 - 9
maxkey-core/src/main/java/org/dromara/maxkey/entity/apps/AppsAdapters.java

@@ -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;
     /**
      * 

+ 8 - 7
maxkey-core/src/main/java/org/dromara/maxkey/entity/apps/AppsCasDetails.java

@@ -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;

+ 7 - 2
maxkey-core/src/main/java/org/dromara/maxkey/entity/apps/AppsExtendApiDetails.java

@@ -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") 

+ 8 - 7
maxkey-core/src/main/java/org/dromara/maxkey/entity/apps/AppsFormBasedDetails.java

@@ -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

+ 8 - 7
maxkey-core/src/main/java/org/dromara/maxkey/entity/apps/AppsJwtDetails.java

@@ -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

+ 7 - 2
maxkey-core/src/main/java/org/dromara/maxkey/entity/apps/AppsOAuth20Details.java

@@ -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;

+ 8 - 7
maxkey-core/src/main/java/org/dromara/maxkey/entity/apps/AppsSAML20Details.java

@@ -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;

+ 8 - 7
maxkey-core/src/main/java/org/dromara/maxkey/entity/apps/AppsTokenBasedDetails.java

@@ -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;
 	/**
 	 * 

+ 3 - 3
maxkey-core/src/main/java/org/dromara/maxkey/entity/xml/UserInfoXML.java

@@ -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 {
 
 	/**
 	 * 

+ 1 - 1
maxkey-core/src/main/java/org/dromara/maxkey/web/ConfigurerFreeMarker.java

@@ -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 {

+ 3 - 2
maxkey-core/src/main/java/org/dromara/maxkey/web/ExceptionEndpoint.java

@@ -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.
  * 

+ 3 - 3
maxkey-core/src/main/java/org/dromara/maxkey/web/HttpResponseAdapter.java

@@ -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 {
 

+ 6 - 6
maxkey-core/src/main/java/org/dromara/maxkey/web/InitializeContext.java

@@ -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("-----------------------------------------------------------");
         }
     }

+ 4 - 5
maxkey-core/src/main/java/org/dromara/maxkey/web/MetadataEndpoint.java

@@ -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();
 	}
 }

+ 5 - 4
maxkey-core/src/main/java/org/dromara/maxkey/web/WebContext.java

@@ -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.
  * 

+ 6 - 5
maxkey-core/src/main/java/org/dromara/maxkey/web/WebInstRequestFilter.java

@@ -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);	
 	

+ 6 - 5
maxkey-core/src/main/java/org/dromara/maxkey/web/WebXssRequestFilter.java

@@ -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);	

+ 1 - 1
maxkey-core/src/main/java/org/dromara/maxkey/web/tag/BasePathTagDirective.java

@@ -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/>

+ 1 - 2
maxkey-core/src/main/java/org/dromara/maxkey/web/tag/BaseTagDirective.java

@@ -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/>

+ 1 - 2
maxkey-core/src/main/java/org/dromara/maxkey/web/tag/BrowserTagDirective.java

@@ -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>

+ 2 - 1
maxkey-core/src/main/java/org/dromara/maxkey/web/tag/LocaleTagDirective.java

@@ -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;

BIN
maxkey-lib/kingbase8-8.6.0.jar


BIN
maxkey-lib/mybatis-jpa-extra-2.8.jar


BIN
maxkey-lib/mybatis-jpa-extra-3.2.jar


BIN
maxkey-lib/mybatis-jpa-extra-spring-boot-starter-2.8.jar


BIN
maxkey-lib/mybatis-jpa-extra-spring-boot-starter-3.2.jar


BIN
maxkey-lib/opensaml-2.6.6.jar


BIN
maxkey-lib/opensaml-2.6.7.jar


BIN
maxkey-lib/openws-1.5.6.jar


BIN
maxkey-lib/openws-2.0.0.jar


BIN
maxkey-lib/xmltooling-1.4.6.jar


BIN
maxkey-lib/xmltooling-1.4.7.jar


+ 2 - 2
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/mapper/AccountsMapper.java

@@ -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);

+ 2 - 2
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/mapper/AccountsStrategyMapper.java

@@ -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);
 }

+ 2 - 2
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/mapper/AppsAdaptersMapper.java

@@ -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> {
 	
 
 }

+ 2 - 2
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/mapper/AppsCasDetailsMapper.java

@@ -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) ;
 }

+ 2 - 2
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/mapper/AppsFormBasedDetailsMapper.java

@@ -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) ;
 }

+ 2 - 2
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/mapper/AppsJwtDetailsMapper.java

@@ -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);
 }

+ 2 - 2
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/mapper/AppsMapper.java

@@ -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 changed in this diff