shimingxy 3 дней назад
Родитель
Сommit
2717fe49b1
100 измененных файлов с 535 добавлено и 184 удалено
  1. 1 1
      maxkey-authentications/maxkey-authentication-provider-mgt/src/main/java/org/dromara/maxkey/authn/provider/AuthenticationProviderFactory.java
  2. 3 3
      maxkey-authentications/maxkey-authentication-provider-mgt/src/main/java/org/dromara/maxkey/authn/realm/ldap/LdapAuthenticationRealmService.java
  3. 1 1
      maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/provider/AuthenticationProviderFactory.java
  4. 1 0
      maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/provider/twofactor/TwoFactorAuthenticationProvider.java
  5. 1 0
      maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/provider/twofactor/impl/TwoFactorEmailAuthenticationProvider.java
  6. 1 0
      maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/provider/twofactor/impl/TwoFactorMobileAuthenticationProvider.java
  7. 1 0
      maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/provider/twofactor/impl/TwoFactorTotpAuthenticationProvider.java
  8. 3 3
      maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/realm/ldap/LdapAuthenticationRealmService.java
  9. 3 3
      maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/support/basic/BasicEntryPoint.java
  10. 1 1
      maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/support/httpheader/HttpHeaderEntryPoint.java
  11. 2 2
      maxkey-commons/maxkey-cache/src/main/java/org/dromara/maxkey/persistence/redis/RedisConnectionFactory.java
  12. 1 1
      maxkey-commons/maxkey-common/src/main/java/org/dromara/maxkey/constants/ConstsProperties.java
  13. 1 1
      maxkey-commons/maxkey-common/src/main/java/org/dromara/maxkey/http/HttpResponseAdapter.java
  14. 1 1
      maxkey-commons/maxkey-common/src/main/java/org/dromara/maxkey/id/IdTimeSequence.java
  15. 3 1
      maxkey-commons/maxkey-common/src/main/java/org/dromara/maxkey/id/SnowFlakeId.java
  16. 1 0
      maxkey-commons/maxkey-common/src/main/java/org/dromara/maxkey/id/generator/impl/RandomStringGenerator.java
  17. 1 0
      maxkey-commons/maxkey-common/src/main/java/org/dromara/maxkey/id/generator/impl/SnowFlakeIdGenerator.java
  18. 1 0
      maxkey-commons/maxkey-common/src/main/java/org/dromara/maxkey/id/generator/impl/UuidStringGenerator.java
  19. 1 1
      maxkey-commons/maxkey-common/src/main/java/org/dromara/maxkey/pretty/impl/SqlPretty.java
  20. 15 15
      maxkey-commons/maxkey-common/src/main/java/org/dromara/maxkey/util/BeanConvert.java
  21. 12 12
      maxkey-commons/maxkey-common/src/main/java/org/dromara/maxkey/util/BeanUtil.java
  22. 16 0
      maxkey-commons/maxkey-core/src/main/java/org/dromara/maxkey/configuration/oidc/OIDCProviderMetadataDetails.java
  23. 4 3
      maxkey-commons/maxkey-core/src/main/java/org/dromara/maxkey/exception/PasswordPolicyException.java
  24. 5 5
      maxkey-commons/maxkey-core/src/main/java/org/dromara/maxkey/web/tag/LocaleTagDirective.java
  25. 2 2
      maxkey-commons/maxkey-crypto/src/main/java/org/dromara/maxkey/crypto/jose/keystore/JWKSetKeyStore.java
  26. 7 7
      maxkey-commons/maxkey-crypto/src/main/java/org/dromara/maxkey/crypto/jwt/encryption/service/impl/DefaultJwtEncryptionAndDecryptionService.java
  27. 8 0
      maxkey-entity/src/main/java/org/dromara/maxkey/entity/Access.java
  28. 4 0
      maxkey-entity/src/main/java/org/dromara/maxkey/entity/apps/AppsCasDetails.java
  29. 6 0
      maxkey-entity/src/main/java/org/dromara/maxkey/entity/apps/AppsFormBasedDetails.java
  30. 6 0
      maxkey-entity/src/main/java/org/dromara/maxkey/entity/apps/AppsJwtDetails.java
  31. 4 0
      maxkey-entity/src/main/java/org/dromara/maxkey/entity/apps/AppsOAuth20Details.java
  32. 6 0
      maxkey-entity/src/main/java/org/dromara/maxkey/entity/apps/AppsSAML20Details.java
  33. 6 0
      maxkey-entity/src/main/java/org/dromara/maxkey/entity/apps/AppsTokenBasedDetails.java
  34. 67 22
      maxkey-entity/src/main/java/org/dromara/maxkey/entity/apps/oauth2/provider/client/BaseClientDetails.java
  35. 6 0
      maxkey-entity/src/main/java/org/dromara/maxkey/entity/idm/GroupMember.java
  36. 13 0
      maxkey-entity/src/main/java/org/dromara/maxkey/entity/permissions/Resources.java
  37. 8 0
      maxkey-entity/src/main/java/org/dromara/maxkey/entity/permissions/RoleMember.java
  38. 1 0
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/GroupsService.java
  39. 1 0
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/InstitutionsService.java
  40. 1 0
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/RolesService.java
  41. 5 1
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/AccountsServiceImpl.java
  42. 1 0
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/AppsCasDetailsServiceImpl.java
  43. 2 1
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/AppsFormBasedDetailsServiceImpl.java
  44. 1 0
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/AppsJwtDetailsServiceImpl.java
  45. 1 0
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/AppsSaml20DetailsServiceImpl.java
  46. 7 1
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/AppsServiceImpl.java
  47. 1 0
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/AppsTokenBasedDetailsServiceImpl.java
  48. 4 1
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/AuthzResourceServiceImpl.java
  49. 3 0
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/CnfPasswordPolicyServiceImpl.java
  50. 5 0
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/GroupMemberServiceImpl.java
  51. 5 0
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/GroupsServiceImpl.java
  52. 2 0
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/HistoryLoginServiceImpl.java
  53. 4 2
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/HistorySystemLogsServiceImpl.java
  54. 2 0
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/InstitutionsServiceImpl.java
  55. 18 1
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/LoginServiceImpl.java
  56. 1 0
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/OrganizationsCastServiceImpl.java
  57. 7 2
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/OrganizationsServiceImpl.java
  58. 3 0
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/PasswordPolicyValidatorServiceImpl.java
  59. 3 0
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/PermissionRoleServiceImpl.java
  60. 3 0
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/PermissionServiceImpl.java
  61. 1 0
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/RegisterServiceImpl.java
  62. 13 0
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/ReportServiceImpl.java
  63. 1 0
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/ResourcesServiceImpl.java
  64. 5 0
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/RoleMemberServiceImpl.java
  65. 5 0
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/RolesServiceImpl.java
  66. 1 0
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/SocialsAssociatesServiceImpl.java
  67. 5 1
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/SynchroAssociationServiceImpl.java
  68. 6 2
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/SynchroRelatedServiceImpl.java
  69. 33 6
      maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/UserInfoServiceImpl.java
  70. 7 7
      maxkey-protocols/maxkey-protocol-authorize/src/main/java/org/dromara/maxkey/authz/endpoint/adapter/AbstractAuthorizeAdapter.java
  71. 10 10
      maxkey-protocols/maxkey-protocol-cas/src/main/java/org/dromara/maxkey/authz/cas/ticket/RandomServiceTicketServices.java
  72. 1 0
      maxkey-protocols/maxkey-protocol-cas/src/main/java/org/dromara/maxkey/authz/cas/ticket/TicketGrantingTicket.java
  73. 1 1
      maxkey-protocols/maxkey-protocol-cas/src/main/java/org/dromara/maxkey/authz/cas/ticket/TicketGrantingTicketImpl.java
  74. 3 3
      maxkey-protocols/maxkey-protocol-extendapi/src/main/java/org/dromara/maxkey/authz/exapi/endpoint/adapter/ExtendApiCndnsApiMailAdapter.java
  75. 5 5
      maxkey-protocols/maxkey-protocol-extendapi/src/main/java/org/dromara/maxkey/authz/exapi/endpoint/adapter/ExtendApiTimestampSignAdapter.java
  76. 1 1
      maxkey-protocols/maxkey-protocol-formbased/src/main/java/org/dromara/maxkey/authz/formbased/endpoint/adapter/FormBasedDefaultAdapter.java
  77. 2 2
      maxkey-protocols/maxkey-protocol-formbased/src/main/java/org/dromara/maxkey/authz/formbased/endpoint/adapter/FormBasedRedirectAdapter.java
  78. 3 3
      maxkey-protocols/maxkey-protocol-jwt/src/main/java/org/dromara/maxkey/authz/jwt/endpoint/JwtAuthorizeEndpoint.java
  79. 2 2
      maxkey-protocols/maxkey-protocol-jwt/src/main/java/org/dromara/maxkey/authz/jwt/endpoint/adapter/JwtAdapter.java
  80. 1 0
      maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/common/DefaultOAuth2RefreshToken.java
  81. 1 0
      maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/common/util/DefaultJdbcListFactory.java
  82. 1 1
      maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/jwt/JwtAlgorithms.java
  83. 5 0
      maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/jwt/JwtHelper.java
  84. 3 0
      maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/jwt/crypto/sign/MacSigner.java
  85. 3 3
      maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/jwt/crypto/sign/RsaKeyHelper.java
  86. 2 0
      maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/jwt/crypto/sign/RsaSigner.java
  87. 2 0
      maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/jwt/crypto/sign/RsaVerifier.java
  88. 21 9
      maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/AuthorizationRequest.java
  89. 18 9
      maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/BaseRequest.java
  90. 1 0
      maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/CompositeTokenGranter.java
  91. 2 0
      maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/OAuth2Authentication.java
  92. 28 14
      maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/OAuth2Request.java
  93. 1 0
      maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/OAuth2UserDetailsService.java
  94. 11 0
      maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/TokenRequest.java
  95. 6 2
      maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/approval/ApprovalStoreUserApprovalHandler.java
  96. 3 1
      maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/approval/DefaultUserApprovalHandler.java
  97. 14 7
      maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/approval/InMemoryApprovalStore.java
  98. 1 1
      maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/approval/TokenStoreUserApprovalHandler.java
  99. 1 0
      maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/approval/endpoint/OAuth20UserApprovalHandler.java
  100. 1 0
      maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/authentication/OAuth2AuthenticationDetailsSource.java

+ 1 - 1
maxkey-authentications/maxkey-authentication-provider-mgt/src/main/java/org/dromara/maxkey/authn/provider/AuthenticationProviderFactory.java

@@ -26,7 +26,7 @@ public class AuthenticationProviderFactory extends AbstractAuthenticationProvide
     
     @Override
     public Authentication authenticate(LoginCredential authentication){
-        if(authentication.getAuthType().equalsIgnoreCase("trusted")) {
+        if("trusted".equalsIgnoreCase(authentication.getAuthType())) {
             //risk remove
             return null;
         }

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

@@ -53,7 +53,7 @@ public class LdapAuthenticationRealmService {
                 authenticationRealm.setLdapSupport(true);
                 List<IAuthenticationServer> ldapAuthenticationServers = new ArrayList<IAuthenticationServer>();
                 for(CnfLdapContext ldapContext : ldapContexts) { 
-                    if(ldapContext.getProduct().equalsIgnoreCase("ActiveDirectory")) {
+                    if("ActiveDirectory".equalsIgnoreCase(ldapContext.getProduct())) {
                         ActiveDirectoryServer ldapServer = new ActiveDirectoryServer();
                         ActiveDirectoryUtils  ldapUtils  = new ActiveDirectoryUtils(
                                                         ldapContext.getProviderUrl(),
@@ -62,7 +62,7 @@ public class LdapAuthenticationRealmService {
                                                                 ldapContext.getCredentials()),
                                                         ldapContext.getMsadDomain());
                         ldapServer.setActiveDirectoryUtils(ldapUtils);
-                        if(ldapContext.getAccountMapping().equalsIgnoreCase("YES")) {
+                        if("YES".equalsIgnoreCase(ldapContext.getAccountMapping())) {
                             ldapServer.setMapping(true);
                         }
                         ldapAuthenticationServers.add(ldapServer);
@@ -77,7 +77,7 @@ public class LdapAuthenticationRealmService {
                                                     ldapContext.getBasedn());
                         standardLdapServer.setLdapUtils(ldapUtils);
                         standardLdapServer.setFilterAttribute(ldapContext.getFilters());
-                        if(ldapContext.getAccountMapping().equalsIgnoreCase("YES")) {
+                        if("YES".equalsIgnoreCase(ldapContext.getAccountMapping())) {
                             standardLdapServer.setMapping(true);
                         }
                         ldapAuthenticationServers.add(standardLdapServer);

+ 1 - 1
maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/provider/AuthenticationProviderFactory.java

@@ -26,7 +26,7 @@ public class AuthenticationProviderFactory extends AbstractAuthenticationProvide
     
     @Override
     public Authentication authenticate(LoginCredential authentication){
-        if(authentication.getAuthType().equalsIgnoreCase("trusted")) {
+        if("trusted".equalsIgnoreCase(authentication.getAuthType())) {
             //risk remove
             return null;
         }

+ 1 - 0
maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/provider/twofactor/TwoFactorAuthenticationProvider.java

@@ -54,6 +54,7 @@ public class TwoFactorAuthenticationProvider extends AbstractAuthenticationProvi
 
     Map<String,AbstractAuthenticationProvider> twoFactorProvider = new HashMap<>();
     
+    @Override
     public String getProviderName() {
         return "twoFactor" + PROVIDER_SUFFIX;
     }

+ 1 - 0
maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/provider/twofactor/impl/TwoFactorEmailAuthenticationProvider.java

@@ -46,6 +46,7 @@ public class TwoFactorEmailAuthenticationProvider extends AbstractAuthentication
 
     MailOtpAuthnService mailOtpAuthnService;
     
+    @Override
     public String getProviderName() {
         return "twoFactorEmail" + PROVIDER_SUFFIX;
     }

+ 1 - 0
maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/provider/twofactor/impl/TwoFactorMobileAuthenticationProvider.java

@@ -46,6 +46,7 @@ public class TwoFactorMobileAuthenticationProvider extends AbstractAuthenticatio
 
     SmsOtpAuthnService smsOtpAuthnService;
     
+    @Override
     public String getProviderName() {
         return "twoFactorMobile" + PROVIDER_SUFFIX;
     }

+ 1 - 0
maxkey-authentications/maxkey-authentication-provider/src/main/java/org/dromara/maxkey/authn/provider/twofactor/impl/TwoFactorTotpAuthenticationProvider.java

@@ -43,6 +43,7 @@ import org.springframework.security.core.AuthenticationException;
 public class TwoFactorTotpAuthenticationProvider extends AbstractAuthenticationProvider {
     private static final Logger logger = LoggerFactory.getLogger(TwoFactorTotpAuthenticationProvider.class);
     
+    @Override
     public String getProviderName() {
         return "twoFactorTotp" + PROVIDER_SUFFIX;
     }

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

@@ -53,7 +53,7 @@ public class LdapAuthenticationRealmService {
                 authenticationRealm.setLdapSupport(true);
                 List<IAuthenticationServer> ldapAuthenticationServers = new ArrayList<IAuthenticationServer>();
                 for(CnfLdapContext ldapContext : ldapContexts) { 
-                    if(ldapContext.getProduct().equalsIgnoreCase("ActiveDirectory")) {
+                    if("ActiveDirectory".equalsIgnoreCase(ldapContext.getProduct())) {
                         ActiveDirectoryServer ldapServer = new ActiveDirectoryServer();
                         ActiveDirectoryUtils  ldapUtils  = new ActiveDirectoryUtils(
                                                         ldapContext.getProviderUrl(),
@@ -62,7 +62,7 @@ public class LdapAuthenticationRealmService {
                                                                 ldapContext.getCredentials()),
                                                         ldapContext.getMsadDomain());
                         ldapServer.setActiveDirectoryUtils(ldapUtils);
-                        if(ldapContext.getAccountMapping().equalsIgnoreCase("YES")) {
+                        if("YES".equalsIgnoreCase(ldapContext.getAccountMapping())) {
                             ldapServer.setMapping(true);
                         }
                         ldapAuthenticationServers.add(ldapServer);
@@ -77,7 +77,7 @@ public class LdapAuthenticationRealmService {
                                                     ldapContext.getBasedn());
                         standardLdapServer.setLdapUtils(ldapUtils);
                         standardLdapServer.setFilterAttribute(ldapContext.getFilters());
-                        if(ldapContext.getAccountMapping().equalsIgnoreCase("YES")) {
+                        if("YES".equalsIgnoreCase(ldapContext.getAccountMapping())) {
                             standardLdapServer.setMapping(true);
                         }
                         ldapAuthenticationServers.add(standardLdapServer);

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

@@ -92,7 +92,7 @@ public class BasicEntryPoint implements   AsyncHandlerInterceptor {
          _logger.info("Authorization : " + basicCredential);
         
         
-         if(basicCredential==null||basicCredential.equals("")){
+         if(basicCredential==null|| "".equals(basicCredential)){
              _logger.info("Authentication fail header Authorization is null . ");
              return false;
          }
@@ -104,11 +104,11 @@ public class BasicEntryPoint implements   AsyncHandlerInterceptor {
          }else{
              return false;
          }
-         if(headerCredential.getUsername()==null||headerCredential.getUsername().equals("")){
+         if(headerCredential.getUsername()==null|| "".equals(headerCredential.getUsername())){
              _logger.info("Authentication fail username is null . ");
              return false;
          }
-         if(headerCredential.getCredential()==null||headerCredential.getCredential().equals("")){
+         if(headerCredential.getCredential()==null|| "".equals(headerCredential.getCredential())){
              _logger.info("Authentication fail password is null . ");
              return false;
          }

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

@@ -85,7 +85,7 @@ public class HttpHeaderEntryPoint implements AsyncHandlerInterceptor {
          _logger.trace("HttpHeader username : " + httpHeaderUsername);
         
         
-         if(httpHeaderUsername==null||httpHeaderUsername.equals("")){
+         if(httpHeaderUsername==null|| "".equals(httpHeaderUsername)){
              _logger.info("Authentication fail HttpHeader is null . ");
              return false;
          }

+ 2 - 2
maxkey-commons/maxkey-cache/src/main/java/org/dromara/maxkey/persistence/redis/RedisConnectionFactory.java

@@ -44,7 +44,7 @@ public class RedisConnectionFactory {
         if (jedisPool == null) {
             _logger.debug("init Jedis Pool .");
             try {
-                if (this.hostName == null || hostName.equals("")) {
+                if (this.hostName == null || "".equals(hostName)) {
                     hostName = RedisDefaultConfig.DEFAULT_ADDRESS;
                 }
                 if (port == 0) {
@@ -54,7 +54,7 @@ public class RedisConnectionFactory {
                     timeOut = RedisDefaultConfig.DEFAULT_TIMEOUT;
                 }
 
-                if (this.password == null || this.password.equals("")) {
+                if (this.password == null || "".equals(this.password)) {
                     this.password = null;
                 }
                 jedisPool = new JedisPool(poolConfig, hostName, port, timeOut, password);

+ 1 - 1
maxkey-commons/maxkey-common/src/main/java/org/dromara/maxkey/constants/ConstsProperties.java

@@ -24,7 +24,7 @@ public class ConstsProperties {
     }
     
     public static String classPathResource(String propertySource,String active) {
-        if(active == null || active.equals("")) {
+        if(active == null || "".equals(active)) {
             return propertySource.replaceAll("classpath:","");
         }
         return propertySource.replace(".", "-"+active+".").replaceAll("classpath:","");

+ 1 - 1
maxkey-commons/maxkey-common/src/main/java/org/dromara/maxkey/http/HttpResponseAdapter.java

@@ -32,7 +32,7 @@ public class HttpResponseAdapter {
                         HttpServletResponse response,
                         String format) {
         
-        if(format == null || format.equalsIgnoreCase("") || format.equalsIgnoreCase(HttpResponseConstants.FORMAT_TYPE.XML)) {
+        if(format == null || "".equalsIgnoreCase(format) || format.equalsIgnoreCase(HttpResponseConstants.FORMAT_TYPE.XML)) {
             response.setContentType(ContentType.APPLICATION_XML_UTF8);
         }else {
             response.setContentType(ContentType.APPLICATION_JSON_UTF8);

+ 1 - 1
maxkey-commons/maxkey-common/src/main/java/org/dromara/maxkey/id/IdTimeSequence.java

@@ -72,7 +72,7 @@ public class IdTimeSequence {
     }
     
     public static final String initNode(String nodeNumber){
-        if(NODE_NUMBER.equals("--")){
+        if("--".equals(NODE_NUMBER)){
             if(StringUtils.isNotBlank(nodeNumber) 
                     && StringUtils.length(nodeNumber) == 2){
                 NODE_NUMBER = nodeNumber;

+ 3 - 1
maxkey-commons/maxkey-common/src/main/java/org/dromara/maxkey/id/SnowFlakeId.java

@@ -175,7 +175,9 @@ public class SnowFlakeId {
             while (interfaces.hasMoreElements()) {
                 NetworkInterface iface = interfaces.nextElement();
                 // 过滤掉无效接口
-                if (iface.isLoopback() || iface.isVirtual() || !iface.isUp()) continue;
+                if (iface.isLoopback() || iface.isVirtual() || !iface.isUp()) {
+                    continue;
+                }
 
                 byte[] mac = iface.getHardwareAddress();
                 if (mac != null && mac.length > 0) {

+ 1 - 0
maxkey-commons/maxkey-common/src/main/java/org/dromara/maxkey/id/generator/impl/RandomStringGenerator.java

@@ -24,6 +24,7 @@ public class RandomStringGenerator implements IdGenerator{
 
     StringGenerator stringGenerator = new StringGenerator();
 
+    @Override
     public String generate(){
          return stringGenerator.randomGenerate();
     }

+ 1 - 0
maxkey-commons/maxkey-common/src/main/java/org/dromara/maxkey/id/generator/impl/SnowFlakeIdGenerator.java

@@ -24,6 +24,7 @@ public class SnowFlakeIdGenerator implements IdGenerator{
 
     SnowFlakeId snowFlakeId = new SnowFlakeId(0,0);
 
+    @Override
     public String generate(){
       return snowFlakeId.nextId() + "";
     }

+ 1 - 0
maxkey-commons/maxkey-common/src/main/java/org/dromara/maxkey/id/generator/impl/UuidStringGenerator.java

@@ -24,6 +24,7 @@ public class UuidStringGenerator implements IdGenerator{
 
     StringGenerator stringGenerator = new StringGenerator();
 
+    @Override
     public String generate(){
        return stringGenerator.uuidGenerate();
 

+ 1 - 1
maxkey-commons/maxkey-common/src/main/java/org/dromara/maxkey/pretty/impl/SqlPretty.java

@@ -206,7 +206,7 @@ public class SqlPretty implements Pretty{
                     on();
                 }
 
-                else if ( afterBetween && lcToken.equals( "and" ) ) {
+                else if ( afterBetween && "and".equals(lcToken) ) {
                     misc();
                     afterBetween = false;
                 }

+ 15 - 15
maxkey-commons/maxkey-common/src/main/java/org/dromara/maxkey/util/BeanConvert.java

@@ -85,25 +85,25 @@ public class BeanConvert {
             }
             String fillValue=valueMap.get(fieldName).toString();
             LogFactory.getLog(BeanConvert.class).debug("map2Bean() field "+(i++)+" : "+fieldName+" = "+fillValue+" type : "+fieldType);  
-            if(fieldType.equals("java.lang.String")){
+            if("java.lang.String".equals(fieldType)){
                 value=String.valueOf(fillValue);
-            }else if(fieldType.equals("int")){
+            }else if("int".equals(fieldType)){
                 value=Integer.parseInt(fillValue);
-            }else if(fieldType.equals("java.lang.Integer")){
+            }else if("java.lang.Integer".equals(fieldType)){
                 value=Integer.parseInt(fillValue);
-            }else if(fieldType.equals("long")){
+            }else if("long".equals(fieldType)){
                 value=Long.parseLong(fillValue);
-            }else if(fieldType.equals("java.lang.Long")){
+            }else if("java.lang.Long".equals(fieldType)){
                 value= Long.parseLong(fillValue);
-            }else if(fieldType.equals("double")){
+            }else if("double".equals(fieldType)){
                 value=(double)Double.valueOf(fillValue);
-            }else if(fieldType.equals("java.lang.Double")){
+            }else if("java.lang.Double".equals(fieldType)){
                 value=Double.valueOf(fillValue);
-            }else if(fieldType.equals("float")){
+            }else if("float".equals(fieldType)){
                 value=Float.parseFloat(fillValue);
-            }else if(fieldType.equals("java.lang.Float")){
+            }else if("java.lang.Float".equals(fieldType)){
                 value=Float.parseFloat(fillValue);
-            }else if(fieldType.equals("java.util.Date")){ 
+            }else if("java.util.Date".equals(fieldType)){
                 try {
                     if(fillValue.length()==10){
                         fillValue+=" 00:00:00";
@@ -114,15 +114,15 @@ public class BeanConvert {
                 } catch (ParseException e) {
                     e.printStackTrace();
                 }
-            }else if(fieldType.equals("java.lang.Object")){
+            }else if("java.lang.Object".equals(fieldType)){
                 value=valueMap.get(fieldName);
-            }else if(fieldType.equals("char")){
+            }else if("char".equals(fieldType)){
                 value=Character.valueOf(fillValue.charAt(0));
-            }else if(fieldType.equals("boolean")){
+            }else if("boolean".equals(fieldType)){
                 value=Boolean.parseBoolean(fillValue);
-            }else if(fieldType.equals("short")){
+            }else if("short".equals(fieldType)){
                 value=Short.parseShort(fillValue);
-            }else if(fieldType.equals("byte")){
+            }else if("byte".equals(fieldType)){
                 value=Byte.parseByte(fillValue);
             }
 

+ 12 - 12
maxkey-commons/maxkey-common/src/main/java/org/dromara/maxkey/util/BeanUtil.java

@@ -251,31 +251,31 @@ public class BeanUtil {
         } catch (IllegalArgumentException e1) {
             e1.printStackTrace();
         } 
-        if(fieldType.equals("java.lang.String")){
+        if("java.lang.String".equals(fieldType)){
             if(String.valueOf(fillValue)==null) {
                 isFieldNotEmpty= false;
             }
-        }else if(fieldType.equals("int")){
+        }else if("int".equals(fieldType)){
             if(Integer.parseInt(fillValue)==0) {
                 isFieldNotEmpty= false;
             }
-        }else if(fieldType.equals("long")){
+        }else if("long".equals(fieldType)){
             if(Long.parseLong(fillValue)==0) {
                 isFieldNotEmpty= false;
             }
-        }else if(fieldType.equals("java.lang.Long")){
+        }else if("java.lang.Long".equals(fieldType)){
             if(Long.parseLong(fillValue)==0) {
                 isFieldNotEmpty= false;
             }
-        }else if(fieldType.equals("double")){
+        }else if("double".equals(fieldType)){
             if(Double.valueOf(fillValue)==0.0d) {
                 isFieldNotEmpty= false;
             }
-        }else if(fieldType.equals("float")){
+        }else if("float".equals(fieldType)){
             if(Float.parseFloat(fillValue)==0.0f) {
                 isFieldNotEmpty= false;
             }
-        }else if(fieldType.equals("java.util.Date")){ 
+        }else if("java.util.Date".equals(fieldType)){
             try {
                 value=BeanUtil.get(entity, field.getName());
             } catch (IllegalArgumentException e) {
@@ -284,7 +284,7 @@ public class BeanUtil {
             if(value==null) {
                 isFieldNotEmpty= false;
             }
-        }else if(fieldType.equals("java.lang.Object")){
+        }else if("java.lang.Object".equals(fieldType)){
             try {
                 value=BeanUtil.get(entity, field.getName());
             } catch (IllegalArgumentException e) {
@@ -293,17 +293,17 @@ public class BeanUtil {
             if(value==null) {
                 isFieldNotEmpty= false;
             }
-        }else if(fieldType.equals("char")){
+        }else if("char".equals(fieldType)){
             if(Character.valueOf(fillValue.charAt(0))=='\u0000') {
                 isFieldNotEmpty= false;
             }
-        }else if(fieldType.equals("boolean")){
+        }else if("boolean".equals(fieldType)){
             value=Boolean.parseBoolean(fillValue);
-        }else if(fieldType.equals("short")){
+        }else if("short".equals(fieldType)){
             if(Short.parseShort(fillValue)==0) {
                 isFieldNotEmpty= false;
             }
-        }else if(fieldType.equals("byte")){
+        }else if("byte".equals(fieldType)){
             if(Byte.parseByte(fillValue)==0) {
                 isFieldNotEmpty= false;
             }

+ 16 - 0
maxkey-commons/maxkey-core/src/main/java/org/dromara/maxkey/configuration/oidc/OIDCProviderMetadataDetails.java

@@ -44,66 +44,82 @@ public class OIDCProviderMetadataDetails implements OIDCProviderMetadata {
 
     protected Set<String> responseTypesSupported;
 
+    @Override
     public String getIssuer() {
         return issuer;
     }
 
+    @Override
     public void setIssuer(String issuer) {
         this.issuer = issuer;
     }
 
+    @Override
     public URI getAuthorizationEndpoint() {
         return authorizationEndpoint;
     }
 
+    @Override
     public void setAuthorizationEndpoint(URI authorizationEndpoint) {
         this.authorizationEndpoint = authorizationEndpoint;
     }
 
+    @Override
     public URI getTokenEndpoint() {
         return tokenEndpoint;
     }
 
+    @Override
     public void setTokenEndpoint(URI tokenEndpoint) {
         this.tokenEndpoint = tokenEndpoint;
     }
 
+    @Override
     public URI getUserinfoEndpoint() {
         return userinfoEndpoint;
     }
 
+    @Override
     public void setUserinfoEndpoint(URI userinfoEndpoint) {
         this.userinfoEndpoint = userinfoEndpoint;
     }
 
+    @Override
     public URI getJwksUri() {
         return jwksUri;
     }
 
+    @Override
     public void setJwksUri(URI jwksUri) {
         this.jwksUri = jwksUri;
     }
 
+    @Override
     public URI getRegistrationEndpoint() {
         return registrationEndpoint;
     }
 
+    @Override
     public void setRegistrationEndpoint(URI registrationEndpoint) {
         this.registrationEndpoint = registrationEndpoint;
     }
 
+    @Override
     public Set<String> getScopesSupported() {
         return scopesSupported;
     }
 
+    @Override
     public void setScopesSupported(Set<String> scopesSupported) {
         this.scopesSupported = scopesSupported;
     }
 
+    @Override
     public Set<String> getResponseTypesSupported() {
         return responseTypesSupported;
     }
 
+    @Override
     public void setResponseTypesSupported(Set<String> responseTypesSupported) {
         this.responseTypesSupported = responseTypesSupported;
     }

+ 4 - 3
maxkey-commons/maxkey-core/src/main/java/org/dromara/maxkey/exception/PasswordPolicyException.java

@@ -49,10 +49,11 @@ public class PasswordPolicyException extends Exception {
 
     @Override
     public String getMessage() {
-        if(filedValue!=null)
+        if(filedValue!=null) {
             return WebContext.getI18nValue(getKey(), new Object[]{filedValue});
-        else
-            return  WebContext.getI18nValue(getKey());
+        } else {
+            return WebContext.getI18nValue(getKey());
+        }
     }
     
 }

+ 5 - 5
maxkey-commons/maxkey-core/src/main/java/org/dromara/maxkey/web/tag/LocaleTagDirective.java

@@ -64,16 +64,16 @@ public class LocaleTagDirective implements TemplateDirectiveModel {
         
         if (code == null) {
             message = RequestContextUtils.getLocale(request).getLanguage();
-        } else if (code.equals("global.application.version")
-                || code.equals("application.version")) {
+        } else if ("global.application.version".equals(code)
+                || "application.version".equals(code)) {
             message = WebContext.properties.getProperty("application.formatted-version");
-        } else if (code.equals("global.logo")) {
+        } else if ("global.logo".equals(code)) {
 
             if(!message.startsWith("http")) {
                 message = request.getContextPath() + message;
             }
-        }else if (code.equals("global.title")
-                    ||code.equals("global.consoleTitle")) {
+        }else if ("global.title".equals(code)
+                    || "global.consoleTitle".equals(code)) {
    
         } else {
             try {

+ 2 - 2
maxkey-commons/maxkey-crypto/src/main/java/org/dromara/maxkey/crypto/jose/keystore/JWKSetKeyStore.java

@@ -145,9 +145,9 @@ public class JWKSetKeyStore {
     public String toString(String mediaType){
         StringBuffer metaDataString = new StringBuffer("");
         //RSA Only
-        if(jwkSet.getKeys().get(0).getKeyType().getValue().equalsIgnoreCase("RSA")) {
+        if("RSA".equalsIgnoreCase(jwkSet.getKeys().get(0).getKeyType().getValue())) {
             
-            if(StringUtils.isNotBlank(mediaType) && mediaType.equalsIgnoreCase("XML")) {
+            if(StringUtils.isNotBlank(mediaType) && "XML".equalsIgnoreCase(mediaType)) {
             
                 metaDataString.append("<RSAKeyValue>").append("\n");
                 for(JWK jwk : jwkSet.getKeys()) {

+ 7 - 7
maxkey-commons/maxkey-crypto/src/main/java/org/dromara/maxkey/crypto/jwt/encryption/service/impl/DefaultJwtEncryptionAndDecryptionService.java

@@ -331,19 +331,19 @@ public class DefaultJwtEncryptionAndDecryptionService implements JwtEncryptionAn
 
     public EncryptionMethod parseEncryptionMethod(String encryptionMethodName) {
         EncryptionMethod encryptionMethod = null;
-        if(encryptionMethodName.equalsIgnoreCase("A128GCM")) {
+        if("A128GCM".equalsIgnoreCase(encryptionMethodName)) {
             encryptionMethod = EncryptionMethod.A128GCM;
-        }else if(encryptionMethodName.equalsIgnoreCase("A192GCM")) {
+        }else if("A192GCM".equalsIgnoreCase(encryptionMethodName)) {
             encryptionMethod = EncryptionMethod.A192GCM;
-        }else if(encryptionMethodName.equalsIgnoreCase("A256GCM")) {
+        }else if("A256GCM".equalsIgnoreCase(encryptionMethodName)) {
             encryptionMethod = EncryptionMethod.A256GCM;
-        }else if(encryptionMethodName.equalsIgnoreCase("A128CBC_HS256")) {
+        }else if("A128CBC_HS256".equalsIgnoreCase(encryptionMethodName)) {
             encryptionMethod = EncryptionMethod.A128CBC_HS256;
-        }else if(encryptionMethodName.equalsIgnoreCase("A192CBC_HS384")) {
+        }else if("A192CBC_HS384".equalsIgnoreCase(encryptionMethodName)) {
             encryptionMethod = EncryptionMethod.A192CBC_HS384;
-        }else if(encryptionMethodName.equalsIgnoreCase("A256CBC_HS512")) {
+        }else if("A256CBC_HS512".equalsIgnoreCase(encryptionMethodName)) {
             encryptionMethod = EncryptionMethod.A256CBC_HS512;
-        }else if(encryptionMethodName.equalsIgnoreCase("XC20P")) {
+        }else if("XC20P".equalsIgnoreCase(encryptionMethodName)) {
             encryptionMethod = EncryptionMethod.XC20P;
         }
         return encryptionMethod;

+ 8 - 0
maxkey-entity/src/main/java/org/dromara/maxkey/entity/Access.java

@@ -106,42 +106,50 @@ public class Access extends Apps implements Serializable{
     }
 
 
+    @Override
     public String getId() {
         return id;
     }
 
 
+    @Override
     public void setId(String id) {
         this.id = id;
     }
 
 
+    @Override
     public String getInstId() {
         return instId;
     }
 
 
+    @Override
     public void setInstId(String instId) {
         this.instId = instId;
     }
 
 
+    @Override
     public String getInstName() {
         return instName;
     }
 
 
+    @Override
     public void setInstName(String instName) {
         this.instName = instName;
     }
 
 
 
+    @Override
     public String getAppName() {
         return appName;
     }
 
 
+    @Override
     public void setAppName(String appName) {
         this.appName = appName;
     }

+ 4 - 0
maxkey-entity/src/main/java/org/dromara/maxkey/entity/apps/AppsCasDetails.java

@@ -91,18 +91,22 @@ public class AppsCasDetails extends Apps  implements Serializable {
         this.casUser = casUser;
     }
 
+    @Override
     public String getInstId() {
         return instId;
     }
 
+    @Override
     public void setInstId(String instId) {
         this.instId = instId;
     }
 
+    @Override
     public String getInstName() {
         return instName;
     }
 
+    @Override
     public void setInstName(String instName) {
         this.instName = instName;
     }

+ 6 - 0
maxkey-entity/src/main/java/org/dromara/maxkey/entity/apps/AppsFormBasedDetails.java

@@ -119,11 +119,13 @@ public class AppsFormBasedDetails  extends Apps  implements Serializable {
     }
 
 
+    @Override
     public String getId() {
         return id;
     }
 
 
+    @Override
     public void setId(String id) {
         this.id = id;
     }
@@ -139,21 +141,25 @@ public class AppsFormBasedDetails  extends Apps  implements Serializable {
     }
 
 
+    @Override
     public String getInstId() {
         return instId;
     }
 
 
+    @Override
     public void setInstId(String instId) {
         this.instId = instId;
     }
 
 
+    @Override
     public String getInstName() {
         return instName;
     }
 
 
+    @Override
     public void setInstName(String instName) {
         this.instName = instName;
     }

+ 6 - 0
maxkey-entity/src/main/java/org/dromara/maxkey/entity/apps/AppsJwtDetails.java

@@ -86,11 +86,13 @@ public class AppsJwtDetails  extends Apps  implements Serializable {
     }
 
 
+    @Override
     public String getId() {
         return id;
     }
 
 
+    @Override
     public void setId(String id) {
         this.id = id;
     }
@@ -218,21 +220,25 @@ public class AppsJwtDetails  extends Apps  implements Serializable {
     }
 
 
+    @Override
     public String getInstId() {
         return instId;
     }
 
 
+    @Override
     public void setInstId(String instId) {
         this.instId = instId;
     }
 
 
+    @Override
     public String getInstName() {
         return instName;
     }
 
 
+    @Override
     public void setInstName(String instName) {
         this.instName = instName;
     }

+ 4 - 0
maxkey-entity/src/main/java/org/dromara/maxkey/entity/apps/AppsOAuth20Details.java

@@ -376,18 +376,22 @@ public class AppsOAuth20Details extends Apps  implements Serializable {
 
 
 
+    @Override
     public String getInstId() {
         return instId;
     }
 
+    @Override
     public void setInstId(String instId) {
         this.instId = instId;
     }
 
+    @Override
     public String getInstName() {
         return instName;
     }
 
+    @Override
     public void setInstName(String instName) {
         this.instName = instName;
     }

+ 6 - 0
maxkey-entity/src/main/java/org/dromara/maxkey/entity/apps/AppsSAML20Details.java

@@ -122,10 +122,12 @@ public class AppsSAML20Details extends Apps  implements Serializable {
 
     }
 
+    @Override
     public String getId() {
         return id;
     }
 
+    @Override
     public void setId(String id) {
         this.id = id;
     }
@@ -358,18 +360,22 @@ public class AppsSAML20Details extends Apps  implements Serializable {
         this.metaUrl = metaUrl;
     }
 
+    @Override
     public String getInstId() {
         return instId;
     }
 
+    @Override
     public void setInstId(String instId) {
         this.instId = instId;
     }
 
+    @Override
     public String getInstName() {
         return instName;
     }
 
+    @Override
     public void setInstName(String instName) {
         this.instName = instName;
     }

+ 6 - 0
maxkey-entity/src/main/java/org/dromara/maxkey/entity/apps/AppsTokenBasedDetails.java

@@ -70,11 +70,13 @@ public class AppsTokenBasedDetails  extends Apps  implements Serializable {
     }
 
 
+    @Override
     public String getId() {
         return id;
     }
 
 
+    @Override
     public void setId(String id) {
         this.id = id;
     }
@@ -140,21 +142,25 @@ public class AppsTokenBasedDetails  extends Apps  implements Serializable {
     }
 
 
+    @Override
     public String getInstId() {
         return instId;
     }
 
 
+    @Override
     public void setInstId(String instId) {
         this.instId = instId;
     }
 
 
+    @Override
     public String getInstName() {
         return instName;
     }
 
 
+    @Override
     public void setInstName(String instName) {
         this.instName = instName;
     }

+ 67 - 22
maxkey-entity/src/main/java/org/dromara/maxkey/entity/apps/oauth2/provider/client/BaseClientDetails.java

@@ -172,6 +172,7 @@ public class BaseClientDetails implements ClientDetails {
         }
     }
 
+    @Override
     @com.fasterxml.jackson.annotation.JsonIgnore
     public String getClientId() {
         return clientId;
@@ -191,7 +192,7 @@ public class BaseClientDetails implements ClientDetails {
             return false;
         }
         for (String auto : autoApproveScopes) {
-            if (auto.equals("true") || scope.matches(auto)) {
+            if ("true".equals(auto) || scope.matches(auto)) {
                 return true;
             }
         }
@@ -203,11 +204,13 @@ public class BaseClientDetails implements ClientDetails {
         return autoApproveScopes;
     }
     
+    @Override
     @com.fasterxml.jackson.annotation.JsonIgnore
     public boolean isSecretRequired() {
         return this.clientSecret != null;
     }
 
+    @Override
     @com.fasterxml.jackson.annotation.JsonIgnore
     public String getClientSecret() {
         return clientSecret;
@@ -217,11 +220,13 @@ public class BaseClientDetails implements ClientDetails {
         this.clientSecret = clientSecret;
     }
 
+    @Override
     @com.fasterxml.jackson.annotation.JsonIgnore
     public boolean isScoped() {
         return this.scope != null && !this.scope.isEmpty();
     }
 
+    @Override
     public Set<String> getScope() {
         return scope;
     }
@@ -231,6 +236,7 @@ public class BaseClientDetails implements ClientDetails {
                 : new LinkedHashSet<String>(scope);
     }
 
+    @Override
     @com.fasterxml.jackson.annotation.JsonIgnore
     public Set<String> getResourceIds() {
         return resourceIds;
@@ -241,6 +247,7 @@ public class BaseClientDetails implements ClientDetails {
                 .<String> emptySet() : new LinkedHashSet<String>(resourceIds);
     }
 
+    @Override
     @com.fasterxml.jackson.annotation.JsonIgnore
     public Set<String> getAuthorizedGrantTypes() {
         return authorizedGrantTypes;
@@ -251,6 +258,7 @@ public class BaseClientDetails implements ClientDetails {
                 authorizedGrantTypes);
     }
 
+    @Override
     @com.fasterxml.jackson.annotation.JsonIgnore
     public Set<String> getRegisteredRedirectUri() {
         return registeredRedirectUris;
@@ -274,6 +282,7 @@ public class BaseClientDetails implements ClientDetails {
                 .toArray(new String[values.size()])));
     }
 
+    @Override
     @com.fasterxml.jackson.annotation.JsonIgnore
     public Collection<GrantedAuthority> getAuthorities() {
         return authorities;
@@ -285,6 +294,7 @@ public class BaseClientDetails implements ClientDetails {
         this.authorities = new ArrayList<GrantedAuthority>(authorities);
     }
 
+    @Override
     @com.fasterxml.jackson.annotation.JsonIgnore
     public Integer getAccessTokenValiditySeconds() {
         return accessTokenValiditySeconds;
@@ -294,6 +304,7 @@ public class BaseClientDetails implements ClientDetails {
         this.accessTokenValiditySeconds = accessTokenValiditySeconds;
     }
 
+    @Override
     @com.fasterxml.jackson.annotation.JsonIgnore
     public Integer getRefreshTokenValiditySeconds() {
         return refreshTokenValiditySeconds;
@@ -309,6 +320,7 @@ public class BaseClientDetails implements ClientDetails {
                 additionalInformation);
     }
 
+    @Override
     @com.fasterxml.jackson.annotation.JsonAnyGetter
     public Map<String, Object> getAdditionalInformation() {
         return Collections.unmodifiableMap(this.additionalInformation);
@@ -319,6 +331,7 @@ public class BaseClientDetails implements ClientDetails {
         this.additionalInformation.put(key, value);
     }
     
+    @Override
     public String getIssuer() {
         return issuer;
     }
@@ -327,6 +340,7 @@ public class BaseClientDetails implements ClientDetails {
         this.issuer = issuer;
     }
 
+    @Override
     public String getAudience() {
         return audience;
     }
@@ -335,6 +349,7 @@ public class BaseClientDetails implements ClientDetails {
         this.audience = audience;
     }
 
+    @Override
     public String getAlgorithm() {
         return algorithm;
     }
@@ -343,6 +358,7 @@ public class BaseClientDetails implements ClientDetails {
         this.algorithm = algorithm;
     }
 
+    @Override
     public String getAlgorithmKey() {
         return algorithmKey;
     }
@@ -351,6 +367,7 @@ public class BaseClientDetails implements ClientDetails {
         this.algorithmKey = algorithmKey;
     }
 
+    @Override
     public String getEncryptionMethod() {
         return encryptionMethod;
     }
@@ -359,6 +376,7 @@ public class BaseClientDetails implements ClientDetails {
         this.encryptionMethod = encryptionMethod;
     }
 
+    @Override
     public String getSignature() {
         return signature;
     }
@@ -367,6 +385,7 @@ public class BaseClientDetails implements ClientDetails {
         this.signature = signature;
     }
 
+    @Override
     public String getSignatureKey() {
         return signatureKey;
     }
@@ -376,6 +395,7 @@ public class BaseClientDetails implements ClientDetails {
     }
 
     
+    @Override
     public String getSubject() {
         return subject;
     }
@@ -384,6 +404,7 @@ public class BaseClientDetails implements ClientDetails {
         this.subject = subject;
     }
 
+    @Override
     public String getUserInfoResponse() {
         return userInfoResponse;
     }
@@ -392,6 +413,7 @@ public class BaseClientDetails implements ClientDetails {
         this.userInfoResponse = userInfoResponse;
     }
 
+    @Override
     public String getApprovalPrompt() {
         return approvalPrompt;
     }
@@ -400,6 +422,7 @@ public class BaseClientDetails implements ClientDetails {
         this.approvalPrompt = approvalPrompt;
     }
  
+    @Override
     public String getPkce() {
         return pkce;
     }
@@ -408,6 +431,7 @@ public class BaseClientDetails implements ClientDetails {
         this.pkce = pkce;
     }
 
+    @Override
     public String getProtocol() {
         return protocol;
     }
@@ -460,57 +484,78 @@ public class BaseClientDetails implements ClientDetails {
 
     @Override
     public boolean equals(Object obj) {
-        if (this == obj)
+        if (this == obj) {
             return true;
-        if (obj == null)
+        }
+        if (obj == null) {
             return false;
-        if (getClass() != obj.getClass())
+        }
+        if (getClass() != obj.getClass()) {
             return false;
+        }
         BaseClientDetails other = (BaseClientDetails) obj;
-        if (accessTokenValiditySeconds != other.accessTokenValiditySeconds)
+        if (!accessTokenValiditySeconds.equals(other.accessTokenValiditySeconds)) {
             return false;
-        if (refreshTokenValiditySeconds != other.refreshTokenValiditySeconds)
+        }
+        if (!refreshTokenValiditySeconds.equals( other.refreshTokenValiditySeconds)) {
             return false;
+        }
         if (authorities == null) {
-            if (other.authorities != null)
+            if (other.authorities != null) {
                 return false;
-        } else if (!authorities.equals(other.authorities))
+            }
+        } else if (!authorities.equals(other.authorities)) {
             return false;
+        }
         if (authorizedGrantTypes == null) {
-            if (other.authorizedGrantTypes != null)
+            if (other.authorizedGrantTypes != null) {
                 return false;
-        } else if (!authorizedGrantTypes.equals(other.authorizedGrantTypes))
+            }
+        } else if (!authorizedGrantTypes.equals(other.authorizedGrantTypes)) {
             return false;
+        }
         if (clientId == null) {
-            if (other.clientId != null)
+            if (other.clientId != null) {
                 return false;
-        } else if (!clientId.equals(other.clientId))
+            }
+        } else if (!clientId.equals(other.clientId)) {
             return false;
+        }
         if (clientSecret == null) {
-            if (other.clientSecret != null)
+            if (other.clientSecret != null) {
                 return false;
-        } else if (!clientSecret.equals(other.clientSecret))
+            }
+        } else if (!clientSecret.equals(other.clientSecret)) {
             return false;
+        }
         if (registeredRedirectUris == null) {
-            if (other.registeredRedirectUris != null)
+            if (other.registeredRedirectUris != null) {
                 return false;
-        } else if (!registeredRedirectUris.equals(other.registeredRedirectUris))
+            }
+        } else if (!registeredRedirectUris.equals(other.registeredRedirectUris)) {
             return false;
+        }
         if (resourceIds == null) {
-            if (other.resourceIds != null)
+            if (other.resourceIds != null) {
                 return false;
-        } else if (!resourceIds.equals(other.resourceIds))
+            }
+        } else if (!resourceIds.equals(other.resourceIds)) {
             return false;
+        }
         if (scope == null) {
-            if (other.scope != null)
+            if (other.scope != null) {
                 return false;
-        } else if (!scope.equals(other.scope))
+            }
+        } else if (!scope.equals(other.scope)) {
             return false;
+        }
         if (additionalInformation == null) {
-            if (other.additionalInformation != null)
+            if (other.additionalInformation != null) {
                 return false;
-        } else if (!additionalInformation.equals(other.additionalInformation))
+            }
+        } else if (!additionalInformation.equals(other.additionalInformation)) {
             return false;
+        }
         return true;
     }
 

+ 6 - 0
maxkey-entity/src/main/java/org/dromara/maxkey/entity/idm/GroupMember.java

@@ -83,11 +83,13 @@ public class GroupMember extends UserInfo implements Serializable{
     }
 
 
+    @Override
     public String getId() {
         return id;
     }
 
 
+    @Override
     public void setId(String id) {
         this.id = id;
     }
@@ -162,21 +164,25 @@ public class GroupMember extends UserInfo implements Serializable{
     }
 
 
+    @Override
     public String getInstId() {
         return instId;
     }
 
 
+    @Override
     public void setInstId(String instId) {
         this.instId = instId;
     }
 
 
+    @Override
     public String getInstName() {
         return instName;
     }
 
 
+    @Override
     public void setInstName(String instName) {
         this.instName = instName;
     }

+ 13 - 0
maxkey-entity/src/main/java/org/dromara/maxkey/entity/permissions/Resources.java

@@ -20,6 +20,7 @@ package org.dromara.maxkey.entity.permissions;
 import java.io.Serializable;
 import java.util.Date;
 
+import org.dromara.maxkey.entity.authz.vo.AppResourcesVo;
 import org.dromara.mybatis.jpa.entity.JpaEntity;
 
 import jakarta.persistence.Column;
@@ -291,4 +292,16 @@ public class Resources  extends JpaEntity implements Serializable {
         return builder.toString();
     }
 
+    @Override
+    public boolean equals(Object obj) {
+        if(obj instanceof Resources r){
+            return id.equals(r.id);
+        }
+        return false;
+    }
+
+    @Override
+    public int hashCode() {
+        return id.hashCode();
+    }
 }

+ 8 - 0
maxkey-entity/src/main/java/org/dromara/maxkey/entity/permissions/RoleMember.java

@@ -87,11 +87,13 @@ public class RoleMember extends UserInfo implements Serializable{
     }
 
 
+    @Override
     public String getId() {
         return id;
     }
 
 
+    @Override
     public void setId(String id) {
         this.id = id;
     }
@@ -166,29 +168,35 @@ public class RoleMember extends UserInfo implements Serializable{
         this.category = category;
     }
 
+    @Override
     public String getCreatedBy() {
         return createdBy;
     }
 
+    @Override
     public void setCreatedBy(String createdBy) {
         this.createdBy = createdBy;
     }
 
+    @Override
     public String getInstId() {
         return instId;
     }
 
 
+    @Override
     public void setInstId(String instId) {
         this.instId = instId;
     }
 
 
+    @Override
     public String getInstName() {
         return instName;
     }
 
 
+    @Override
     public void setInstName(String instName) {
         this.instName = instName;
     }

+ 1 - 0
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/GroupsService.java

@@ -26,6 +26,7 @@ public interface GroupsService  extends IJpaService<Groups,String>{
 
     public List<Groups> queryDynamicGroups(Groups groups);
     
+    @Override
     public boolean deleteById(String groupId) ;
     
     public List<Groups> queryByUserId(String userId);

+ 1 - 0
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/InstitutionsService.java

@@ -25,6 +25,7 @@ public interface InstitutionsService  extends IJpaService<Institutions,String>{
      public Institutions findByDomain(String domain) ;
 
 
+     @Override
      public Institutions get(String instIdOrDomain) ;
 
      /**

+ 1 - 0
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/RolesService.java

@@ -28,6 +28,7 @@ public interface RolesService  extends IJpaService<Roles,String> {
 
     public List<Roles> queryDynamicRoles(Roles groups);
     
+    @Override
     public boolean deleteById(String groupId);
     
     public List<Roles> queryRolesByUserId(String userId);

+ 5 - 1
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/AccountsServiceImpl.java

@@ -64,10 +64,12 @@ public class AccountsServiceImpl  extends JpaServiceImpl<AccountsMapper,Accounts
          return false;
      }
    
+   @Override
    public boolean updateStatus(Accounts accounts) {
        return this.getMapper().updateStatus(accounts) > 0;
    }
    
+   @Override
    public boolean remove(String id) {
        if (super.delete(id)) {
               return true;
@@ -76,11 +78,13 @@ public class AccountsServiceImpl  extends JpaServiceImpl<AccountsMapper,Accounts
    }
    
    
+   @Override
    public List<Accounts> queryByAppIdAndDate(Accounts account) {
        return getMapper().queryByAppIdAndDate(account);
    }
    
-   public List<Accounts> queryByAppIdAndAccount(String appId,String relatedUsername){
+   @Override
+   public List<Accounts> queryByAppIdAndAccount(String appId, String relatedUsername){
        return getMapper().queryByAppIdAndAccount(appId,relatedUsername);
    }
    

+ 1 - 0
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/AppsCasDetailsServiceImpl.java

@@ -37,6 +37,7 @@ public class AppsCasDetailsServiceImpl  extends JpaServiceImpl<AppsCasDetailsMap
                 .maximumSize(200000)
                 .build();
     
+    @Override
     public  AppsCasDetails  get(String id , boolean cached) {
         AppsCasDetails details = null;
         if(cached) {

+ 2 - 1
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/AppsFormBasedDetailsServiceImpl.java

@@ -37,7 +37,8 @@ public class AppsFormBasedDetailsServiceImpl  extends JpaServiceImpl<AppsFormBas
                 .maximumSize(200000)
                 .build();
 
-    public  AppsFormBasedDetails  get(String id,boolean cached) {
+    @Override
+    public  AppsFormBasedDetails  get(String id, boolean cached) {
         AppsFormBasedDetails details = null;
         if(cached) {
             details = detailsCache.getIfPresent(id);

+ 1 - 0
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/AppsJwtDetailsServiceImpl.java

@@ -38,6 +38,7 @@ public class AppsJwtDetailsServiceImpl  extends JpaServiceImpl<AppsJwtDetailsMap
                 .build();
 
     
+    @Override
     public  AppsJwtDetails  get(String id , boolean cached) {
         AppsJwtDetails details = null;
         if(cached) {

+ 1 - 0
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/AppsSaml20DetailsServiceImpl.java

@@ -37,6 +37,7 @@ public class AppsSaml20DetailsServiceImpl  extends JpaServiceImpl<AppsSaml20Deta
                 .maximumSize(200000)
                 .build();
     
+    @Override
     public  AppsSAML20Details  get(String id , boolean cached){
         AppsSAML20Details details = null;
         if(cached) {

+ 7 - 1
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/AppsServiceImpl.java

@@ -43,29 +43,35 @@ public class AppsServiceImpl extends JpaServiceImpl<AppsMapper,Apps,String> impl
                                             .expireAfterWrite(30, TimeUnit.MINUTES)
                                             .build();
     
+    @Override
     public boolean insertApp(Apps app) {
         return ((AppsMapper)super.getMapper()).insertApp(app)>0;
     };
+    @Override
     public boolean updateApp(Apps app) {
         return ((AppsMapper)super.getMapper()).updateApp(app)>0;
     };
     
+    @Override
     public boolean updateExtendAttr(Apps app) {
         return ((AppsMapper)super.getMapper()).updateExtendAttr(app)>0;
     }
     
+    @Override
     public List<UserApps> queryMyApps(UserApps userApplications){
         return getMapper().queryMyApps(userApplications);
     }
 
     //cache for running
+    @Override
     public void put(String appId, Apps appDetails) {
         detailsCacheStore.put(appId + DETAIL_SUFFIX, appDetails);
     }
     
+    @Override
     public Apps get(String appId, boolean cached) {
         if(StringUtils.isNotBlank(appId) 
-        		&& appId.equalsIgnoreCase("maxkey_mgt") ) {
+        		&& "maxkey_mgt".equalsIgnoreCase(appId) ) {
         	appId = MGT_APP_ID ;
         }
         Apps appDetails = null;

+ 1 - 0
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/AppsTokenBasedDetailsServiceImpl.java

@@ -37,6 +37,7 @@ public class AppsTokenBasedDetailsServiceImpl  extends JpaServiceImpl<AppsTokenB
                 .maximumSize(200000)
                 .build();
 
+    @Override
     public  AppsTokenBasedDetails  get(String id , boolean cached) {
         AppsTokenBasedDetails details = null;
         if(cached) {

+ 4 - 1
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/AuthzResourceServiceImpl.java

@@ -47,7 +47,8 @@ public class AuthzResourceServiceImpl   extends JpaServiceImpl<AuthzResourceMapp
      * @param app 
      * @return 资源清单列表
      */
-    public Set<Resources> getResourcesBySubject(UserInfo user,Apps  app){
+    @Override
+    public Set<Resources> getResourcesBySubject(UserInfo user, Apps  app){
         logger.debug("user {} , app {}",user,app);
         Set<Resources> resourcesList = new HashSet<>();
         
@@ -85,6 +86,7 @@ public class AuthzResourceServiceImpl   extends JpaServiceImpl<AuthzResourceMapp
      * @param dto
      * @return
      */
+    @Override
     public List<Resources> queryResourcesByGroupId(QueryAppResourceDto dto) {
         return getMapper().queryResourcesByGroupId(dto);
     }
@@ -94,6 +96,7 @@ public class AuthzResourceServiceImpl   extends JpaServiceImpl<AuthzResourceMapp
      * @param dto
      * @return
      */
+    @Override
     public List<Resources> queryResourcesByRoleId(QueryAppResourceDto dto) {
         return getMapper().queryResourcesByRoleId(dto);
     }

+ 3 - 0
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/CnfPasswordPolicyServiceImpl.java

@@ -72,6 +72,7 @@ public class CnfPasswordPolicyServiceImpl  extends JpaServiceImpl<CnfPasswordPol
      * init PasswordPolicy and load Rules
      * @return
      */
+    @Override
     public CnfPasswordPolicy getPasswordPolicy() {
         passwordPolicy = passwordPolicyStore.getIfPresent(PASSWORD_POLICY_KEY);
        
@@ -148,11 +149,13 @@ public class CnfPasswordPolicyServiceImpl  extends JpaServiceImpl<CnfPasswordPol
     }
   
  
+   @Override
    public List<Rule> getPasswordPolicyRuleList() {
        getPasswordPolicy();
         return passwordPolicyRuleList;
     }
    
+   @Override
    public void buildTipMessage(CnfPasswordPolicy passwordPolicy){
        
        List<String> policMessageList = new ArrayList<>();

+ 5 - 0
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/GroupMemberServiceImpl.java

@@ -34,23 +34,28 @@ import org.springframework.stereotype.Repository;
 public class GroupMemberServiceImpl  extends JpaServiceImpl<GroupMemberMapper,GroupMember,String> implements GroupMemberService{
     static final  Logger _logger = LoggerFactory.getLogger(GroupMemberServiceImpl.class);
 
+    @Override
     public int addDynamicMember(Groups dynamicGroup) {
         return getMapper().addDynamicMember(dynamicGroup);
     }
     
+    @Override
     public int deleteDynamicMember(Groups dynamicGroup) {
         return getMapper().deleteDynamicMember(dynamicGroup);
     }
     
+    @Override
     public int deleteByGroupId(String groupId) {
         return getMapper().deleteByGroupId(groupId);
     }
     
+    @Override
     public List<UserInfo> queryMemberByGroupId(String groupId){
         return getMapper().queryMemberByGroupId(groupId);
     }
     
     
+    @Override
     public JpaPageResults<Groups> noMember(GroupMember entity) {
         entity.build();
         List<Groups> resultslist = null;

+ 5 - 0
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/GroupsServiceImpl.java

@@ -46,20 +46,24 @@ public class GroupsServiceImpl  extends JpaServiceImpl<GroupsMapper,Groups,Strin
     @Autowired
     InstitutionsService institutionsService;
     
+    @Override
     public List<Groups> queryDynamicGroups(Groups groups){
         return this.getMapper().queryDynamic(groups);
     }
     
+    @Override
     public boolean deleteById(String groupId) {
         this.delete(groupId);
         groupMemberService.deleteByGroupId(groupId);
         return true;
     }
     
+    @Override
     public List<Groups> queryByUserId(String userId){
         return this.getMapper().queryByUserId(userId);
     }
     
+    @Override
     public void refreshDynamicGroups(Groups dynamicGroup){
         if(dynamicGroup.getCategory().equals(Roles.Category.DYNAMIC)) {
         	if(StringUtils.isNotBlank(dynamicGroup.getOrgIdsList())) {
@@ -71,6 +75,7 @@ public class GroupsServiceImpl  extends JpaServiceImpl<GroupsMapper,Groups,Strin
         }
     }
     
+    @Override
     public void refreshAllDynamicGroups(){
         List<Institutions> instList = 
                 institutionsService.find("where status = ? ", new Object[]{ConstsStatus.ACTIVE}, new int[]{Types.INTEGER});

+ 2 - 0
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/HistoryLoginServiceImpl.java

@@ -32,10 +32,12 @@ import org.springframework.stereotype.Repository;
 public class HistoryLoginServiceImpl  extends JpaServiceImpl<HistoryLoginMapper,HistoryLogin,String> implements HistoryLoginService{
     private static Logger logger = LoggerFactory.getLogger(HistoryLoginServiceImpl.class);
     
+    @Override
     public JpaPageResults<HistoryLogin> queryOnlineSession(HistoryLogin historyLogin) {
         return this.fetchPageResults("queryOnlineSession",historyLogin);
     }
     
+     @Override
      public void login(HistoryLogin historyLogin) {
             historyLogin.setId(WebContext.genId());
             if(StringUtils.isBlank(historyLogin.getInstId())) {

+ 4 - 2
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/HistorySystemLogsServiceImpl.java

@@ -44,7 +44,8 @@ import org.springframework.stereotype.Repository;
 public class HistorySystemLogsServiceImpl  extends JpaServiceImpl<HistorySystemLogsMapper,HistorySystemLogs,String> implements HistorySystemLogsService{
     static final Logger _logger = LoggerFactory.getLogger(HistorySystemLogsServiceImpl.class);
 
-    public void insert(String topic,Object entity,String action,String result,UserInfo operator) {
+    @Override
+    public void insert(String topic, Object entity, String action, String result, UserInfo operator) {
         String message = "";
         if(entity != null) {
             if(entity instanceof UserInfo userInfo) {
@@ -78,7 +79,8 @@ public class HistorySystemLogsServiceImpl  extends JpaServiceImpl<HistorySystemL
         insert(topic,message,action,result,operator, entity);
     }
     
-    public void insert(String topic,String message,String action,String result,UserInfo operator,Object entity) {
+    @Override
+    public void insert(String topic, String message, String action, String result, UserInfo operator, Object entity) {
         HistorySystemLogs systemLog = new HistorySystemLogs();
         systemLog.setId(systemLog.generateId());
         systemLog.setTopic(topic);

+ 2 - 0
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/InstitutionsServiceImpl.java

@@ -42,10 +42,12 @@ public class InstitutionsServiceImpl  extends JpaServiceImpl<InstitutionsMapper,
                     .expireAfterWrite(60, TimeUnit.MINUTES)
                     .build();
     
+     @Override
      public Institutions findByDomain(String domain) {
          return getMapper().findByDomain(domain);
      }
      
+     @Override
      public Institutions get(String instIdOrDomain) {
             _logger.trace(" instId {}" , instIdOrDomain);
             Institutions inst = getByDomain(instIdOrDomain);

+ 18 - 1
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/LoginServiceImpl.java

@@ -85,6 +85,7 @@ public class LoginServiceImpl  implements LoginService{
 
     }
 
+    @Override
     public UserInfo find(String username, String password) {
         List<UserInfo> listUserInfo = null ;
         if( LOGIN_ATTRIBUTE_TYPE == 1) {
@@ -98,6 +99,7 @@ public class LoginServiceImpl  implements LoginService{
         return (CollectionUtils.isNotEmpty(listUserInfo) ? listUserInfo.get(0) : null);
     }
 
+    @Override
     public List<UserInfo> findByUsername(String username, String password) {
         return jdbcTemplate.query(
                 DEFAULT_USERINFO_SELECT_STATEMENT,
@@ -106,6 +108,7 @@ public class LoginServiceImpl  implements LoginService{
             );
     }
 
+    @Override
     public List<UserInfo> findByUsernameOrMobile(String username, String password) {
         return jdbcTemplate.query(
                  DEFAULT_USERINFO_SELECT_STATEMENT_USERNAME_MOBILE,
@@ -114,6 +117,7 @@ public class LoginServiceImpl  implements LoginService{
             );
     }
 
+    @Override
     public List<UserInfo> findByUsernameOrMobileOrEmail(String username, String password) {
         return jdbcTemplate.query(
                  DEFAULT_USERINFO_SELECT_STATEMENT_USERNAME_MOBILE_EMAIL,
@@ -129,6 +133,7 @@ public class LoginServiceImpl  implements LoginService{
      * @param userInfo
      * @return boolean
      */
+    @Override
     public boolean passwordPolicyValid(UserInfo userInfo) {
         
         CnfPasswordPolicy passwordPolicy = cnfPasswordPolicyService.getPasswordPolicy();
@@ -180,6 +185,7 @@ public class LoginServiceImpl  implements LoginService{
          return true;
      }
     
+    @Override
     public void applyPasswordPolicy(UserInfo userInfo) {
         CnfPasswordPolicy passwordPolicy = cnfPasswordPolicyService.getPasswordPolicy();
         
@@ -228,6 +234,7 @@ public class LoginServiceImpl  implements LoginService{
      * 
      * @param userInfo
      */
+    @Override
     public void lockUser(UserInfo userInfo) {
         try {
             if (userInfo != null 
@@ -247,6 +254,7 @@ public class LoginServiceImpl  implements LoginService{
      * 
      * @param userInfo
      */
+    @Override
     public void unlockUser(UserInfo userInfo) {
         try {
             if (userInfo != null && StringUtils.isNotEmpty(userInfo.getId())) {
@@ -263,6 +271,7 @@ public class LoginServiceImpl  implements LoginService{
      * 
      * @param userInfo
      */
+    @Override
     public void resetAttempts(UserInfo userInfo) {
         try {
             if (userInfo != null && StringUtils.isNotEmpty(userInfo.getId())) {
@@ -291,6 +300,7 @@ public class LoginServiceImpl  implements LoginService{
         }
     }
     
+    @Override
     public void plusBadPasswordCount(UserInfo userInfo) {
         if (userInfo != null && StringUtils.isNotEmpty(userInfo.getId())) {
             setBadPasswordCount(userInfo.getId(),userInfo.getBadPasswordCount());
@@ -303,12 +313,14 @@ public class LoginServiceImpl  implements LoginService{
         }
     }
     
+    @Override
     public void resetBadPasswordCount(UserInfo userInfo) {
         if (userInfo != null && StringUtils.isNotEmpty(userInfo.getId()) && userInfo.getBadPasswordCount()>0) {
             setBadPasswordCount(userInfo.getId(),0);
         }
     }
 
+    @Override
     public List<GrantedAuthority> queryAuthorizedApps(List<GrantedAuthority> grantedAuthoritys) {
         String grantedAuthorityString="'ROLE_ALL_USER'";
         for(GrantedAuthority grantedAuthority : grantedAuthoritys) {
@@ -318,6 +330,7 @@ public class LoginServiceImpl  implements LoginService{
         ArrayList<GrantedAuthority> listAuthorizedApps = (ArrayList<GrantedAuthority>) jdbcTemplate.query(
                 String.format(DEFAULT_MYAPPS_SELECT_STATEMENT, grantedAuthorityString),
                 new RowMapper<GrantedAuthority>() {
+            @Override
             public GrantedAuthority mapRow(ResultSet rs, int rowNum) throws SQLException {
                 return new SimpleGrantedAuthority(rs.getString("id"));
             }
@@ -327,8 +340,10 @@ public class LoginServiceImpl  implements LoginService{
         return listAuthorizedApps;
     }
 
+    @Override
     public List<Groups> queryGroups(UserInfo userInfo) {
         List<Groups> listRoles = jdbcTemplate.query(GROUPS_SELECT_STATEMENT, new RowMapper<Groups>() {
+            @Override
             public Groups mapRow(ResultSet rs, int rowNum) throws SQLException {
                 return new Groups(rs.getString("id"), rs.getString("groupcode"),rs.getString("groupname"), 0);
             }
@@ -344,6 +359,7 @@ public class LoginServiceImpl  implements LoginService{
      * @param userInfo
      * @return ArrayList<GrantedAuthority>
      */
+    @Override
     public List<GrantedAuthority> grantAuthority(UserInfo userInfo) {
         // query Groups for user
         List<Groups> listGroups = queryGroups(userInfo);
@@ -366,6 +382,7 @@ public class LoginServiceImpl  implements LoginService{
     }
 
 
+    @Override
     public void updateLastLogin(UserInfo userInfo) {
         jdbcTemplate.update(LOGIN_USERINFO_UPDATE_STATEMENT,
                 new Object[] {
@@ -486,7 +503,7 @@ public class LoginServiceImpl  implements LoginService{
             userInfo.setDescription(rs.getString("description"));
             userInfo.setTheme(rs.getString("theme"));
             userInfo.setInstId(rs.getString("instid"));
-            if (userInfo.getTheme() == null || userInfo.getTheme().equalsIgnoreCase("")) {
+            if (userInfo.getTheme() == null || "".equalsIgnoreCase(userInfo.getTheme())) {
                 userInfo.setTheme("default");
             }
 

+ 1 - 0
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/OrganizationsCastServiceImpl.java

@@ -31,6 +31,7 @@ public class OrganizationsCastServiceImpl  extends JpaServiceImpl<OrganizationsC
     static final  Logger _logger = LoggerFactory.getLogger(OrganizationsCastServiceImpl.class);
 
 
+    @Override
     public boolean updateCast(OrganizationsCast organizationsCast) {
         return getMapper().updateCast(organizationsCast) > 0;
     }

+ 7 - 2
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/OrganizationsServiceImpl.java

@@ -55,6 +55,7 @@ public class OrganizationsServiceImpl  extends JpaServiceImpl<OrganizationsMappe
          return false;
      }
  
+     @Override
      public void saveOrUpdate(Organizations organization) {
          Organizations loadOrg =findOne(" id = ? and instid = ?", 
                     new Object[] { organization.getId(), organization.getInstId() },
@@ -66,10 +67,12 @@ public class OrganizationsServiceImpl  extends JpaServiceImpl<OrganizationsMappe
                 update(organization);
             }
      }
+     @Override
      public List<Organizations> queryOrgs(Organizations organization){
          return getMapper().queryOrgs(organization);
      }
      
+     @Override
      public boolean delete(Organizations organization) {
          if(super.delete(organization.getId())){
              return true;
@@ -78,6 +81,7 @@ public class OrganizationsServiceImpl  extends JpaServiceImpl<OrganizationsMappe
      }
 
 
+    @Override
     public void reorgNamePath(String instId) {
         _logger.debug("instId {}", instId);
         if (StringUtils.isBlank(instId)) {
@@ -116,7 +120,7 @@ public class OrganizationsServiceImpl  extends JpaServiceImpl<OrganizationsMappe
     }
 
     boolean isRootOrg(Organizations rootOrg) {
-        if (rootOrg.getParentId() == null || rootOrg.getParentId().equalsIgnoreCase("-1")
+        if (rootOrg.getParentId() == null || "-1".equalsIgnoreCase(rootOrg.getParentId())
                 || rootOrg.getParentId().equalsIgnoreCase(rootOrg.getId())
                 || rootOrg.getParentId().equalsIgnoreCase(rootOrg.getInstId())) {
             return true;
@@ -136,8 +140,9 @@ public class OrganizationsServiceImpl  extends JpaServiceImpl<OrganizationsMappe
         rootOrg.setReorgNamePath(true);
 
         for (Organizations org : orgList) {
-            if (org.isReorgNamePath())
+            if (org.isReorgNamePath()) {
                 continue;
+            }
             if (org.getParentId().equalsIgnoreCase(rootOrg.getId())) {
                 reorg(orgMap, orgList, org);
             }

+ 3 - 0
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/PasswordPolicyValidatorServiceImpl.java

@@ -56,6 +56,7 @@ public class PasswordPolicyValidatorServiceImpl  implements  PasswordPolicyValid
         
     }
     
+    @Override
     public CnfPasswordPolicy getPasswordPolicy(){
         return cnfPasswordPolicyService.getPasswordPolicy();
     }
@@ -66,6 +67,7 @@ public class PasswordPolicyValidatorServiceImpl  implements  PasswordPolicyValid
      * @param userInfo
      * @return boolean
      */
+   @Override
    public boolean validator(ChangePassword changePassword) {
        
        
@@ -104,6 +106,7 @@ public class PasswordPolicyValidatorServiceImpl  implements  PasswordPolicyValid
    
 
    
+   @Override
    public String generateRandomPassword() {
        CnfPasswordPolicy passwordPolicy = cnfPasswordPolicyService.getPasswordPolicy();
        

+ 3 - 0
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/PermissionRoleServiceImpl.java

@@ -33,14 +33,17 @@ public class PermissionRoleServiceImpl  extends JpaServiceImpl<PermissionRoleMap
     static final Logger _logger = LoggerFactory.getLogger(PermissionRoleServiceImpl.class);
  
     
+    @Override
     public boolean insertPermissionRoles(List<PermissionRole> permissionRolesList) {
         return getMapper().insertPermissionRoles(permissionRolesList)>0;
     }
     
+    @Override
     public boolean deletePermissionRoles(List<PermissionRole> permissionRolesList) {
          return getMapper().deletePermissionRoles(permissionRolesList)>=0;
      }
     
+    @Override
     public List<PermissionRole> queryPermissionRoles(PermissionRole permissionRole){
         return getMapper().queryPermissionRoles(permissionRole);
     }    

+ 3 - 0
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/PermissionServiceImpl.java

@@ -31,14 +31,17 @@ import org.springframework.stereotype.Repository;
 public class PermissionServiceImpl  extends JpaServiceImpl<PermissionMapper,Permission,String> implements PermissionService{
     static final  Logger _logger = LoggerFactory.getLogger(PermissionServiceImpl.class);
 
+    @Override
     public boolean insertGroupPrivileges(List<Permission> rolePermissionsList) {
         return getMapper().insertGroupPrivileges(rolePermissionsList)>0;
     };
     
+    @Override
     public boolean deleteGroupPrivileges(List<Permission> rolePermissionsList) {
          return getMapper().deleteGroupPrivileges(rolePermissionsList)>=0;
      }
     
+    @Override
     public List<Permission> queryGroupPrivileges(Permission rolePermissions){
         return getMapper().queryGroupPrivileges(rolePermissions);
     }    

+ 1 - 0
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/RegisterServiceImpl.java

@@ -29,6 +29,7 @@ import org.springframework.stereotype.Repository;
 @Repository
 public class RegisterServiceImpl  extends JpaServiceImpl<RegisterMapper,Register,String> implements RegisterService{
     
+    @Override
     public UserInfo findByEmail(String email){
         List<UserInfo> listUserInfo=getMapper().findByEmail(email);
         return listUserInfo.size()>0?listUserInfo.get(0):null;

+ 13 - 0
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/ReportServiceImpl.java

@@ -30,51 +30,63 @@ import org.springframework.stereotype.Repository;
 @Repository
 public class ReportServiceImpl  extends JpaServiceImpl<ReportMapper,JpaEntity,String> implements ReportService{
 
+    @Override
     public Integer analysisDayCount(HashMap<String,Object> reportParameter) {
         return getMapper().analysisDayCount(reportParameter);
     }
     
+    @Override
     public Integer analysisNewUsers(HashMap<String,Object> reportParameter) {
         return getMapper().analysisNewUsers(reportParameter);
     }
     
+    @Override
     public Integer analysisOnlineUsers(HashMap<String,Object> reportParameter) {
         return getMapper().analysisOnlineUsers(reportParameter);
     }
     
+    @Override
     public Integer analysisActiveUsers(HashMap<String,Object> reportParameter) {
         return getMapper().analysisActiveUsers(reportParameter);
     }
     
+    @Override
     public Integer totalUsers(HashMap<String,Object> reportParameter) {
         return getMapper().totalUsers(reportParameter);
     }
     
+    @Override
     public Integer totalDepts(HashMap<String,Object> reportParameter) {
         return getMapper().totalDepts(reportParameter);
     }
     
+    @Override
     public Integer totalApps(HashMap<String,Object> reportParameter) {
         return getMapper().totalApps(reportParameter);
     }
     
+    @Override
     public List<Map<String,Object>> analysisDayHour(HashMap<String,Object> reportParameter){
         return getMapper().analysisDayHour(reportParameter);
     }
     
+    @Override
     public List<Map<String,Object>> analysisMonth(HashMap<String,Object> reportParameter){
         return getMapper().analysisMonth(reportParameter);
     }
     
     
+    @Override
     public List<Map<String,Object>> analysisBrowser(HashMap<String,Object> reportParameter){
         return getMapper().analysisBrowser(reportParameter);
     }
     
+    @Override
     public List<Map<String,Object>> analysisApp(HashMap<String,Object> reportParameter){
         return getMapper().analysisApp(reportParameter);
     }
     
+    @Override
     public List<Map<String,Object>> analysisProvince(HashMap<String,Object> reportParameter){
         List<Map<String,Object>> maps = getMapper().analysisProvince(reportParameter);
         if(null == maps) {
@@ -98,6 +110,7 @@ public class ReportServiceImpl  extends JpaServiceImpl<ReportMapper,JpaEntity,St
         return maps;
     }
     
+    @Override
     public List<Map<String,Object>> analysisCountry(HashMap<String,Object> reportParameter){
         return getMapper().analysisCountry(reportParameter);
     }

+ 1 - 0
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/ResourcesServiceImpl.java

@@ -28,6 +28,7 @@ import org.springframework.stereotype.Repository;
 @Repository
 public class ResourcesServiceImpl  extends JpaServiceImpl<ResourcesMapper,Resources,String> implements ResourcesService{
     
+    @Override
     public List<Resources> queryResourcesTree(Resources resource){
        return  getMapper().fetchPageResults(resource);
     }

+ 5 - 0
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/RoleMemberServiceImpl.java

@@ -35,23 +35,28 @@ import org.springframework.stereotype.Repository;
 public class RoleMemberServiceImpl  extends JpaServiceImpl<RoleMemberMapper,RoleMember,String> implements RoleMemberService{
     static final  Logger _logger = LoggerFactory.getLogger(RoleMemberServiceImpl.class);
 
+    @Override
     public int addDynamicRoleMember(Roles dynamicGroup) {
         return getMapper().addDynamicRoleMember(dynamicGroup);
     }
     
+    @Override
     public int deleteDynamicRoleMember(Roles dynamicGroup) {
         return getMapper().deleteDynamicRoleMember(dynamicGroup);
     }
     
+    @Override
     public int deleteByRoleId(String groupId) {
         return getMapper().deleteByRoleId(groupId);
     }
     
+    @Override
     public List<UserInfo> queryMemberByRoleId(String groupId){
         return getMapper().queryMemberByRoleId(groupId);
     }
     
     
+    @Override
     public JpaPageResults<Roles> rolesNoMember(RoleMember entity) {
         entity.build();
         List<Roles> resultslist = null;

+ 5 - 0
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/RolesServiceImpl.java

@@ -48,20 +48,24 @@ public class RolesServiceImpl  extends JpaServiceImpl<RolesMapper,Roles,String>
     InstitutionsService institutionsService;
 
     
+    @Override
     public List<Roles> queryDynamicRoles(Roles groups){
         return this.getMapper().queryDynamicRoles(groups);
     }
     
+    @Override
     public boolean deleteById(String groupId) {
         this.delete(groupId);
         roleMemberService.deleteByRoleId(groupId);
         return true;
     }
     
+    @Override
     public List<Roles> queryRolesByUserId(String userId){
         return this.getMapper().queryRolesByUserId(userId);
     }
     
+    @Override
     public void refreshDynamicRoles(Roles dynamicRole){
         if(dynamicRole.getCategory().equals(Roles.Category.DYNAMIC)) {
         	if(StringUtils.isNotBlank(dynamicRole.getOrgIdsList())) {
@@ -74,6 +78,7 @@ public class RolesServiceImpl  extends JpaServiceImpl<RolesMapper,Roles,String>
         }
     }
     
+    @Override
     public void refreshAllDynamicRoles(){
         List<Institutions> instList = 
                 institutionsService.find("where status = ? ", new Object[]{ConstsStatus.ACTIVE}, new int[]{Types.INTEGER});

+ 1 - 0
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/SocialsAssociatesServiceImpl.java

@@ -30,6 +30,7 @@ import org.springframework.stereotype.Repository;
 @Repository
 public class SocialsAssociatesServiceImpl  extends JpaServiceImpl<SocialsAssociateMapper,SocialsAssociate,String> implements SocialsAssociatesService{
 
+    @Override
     public List<SocialsAssociate>  queryByUser(UserInfo user) {
         return getMapper().queryByUser(user);
     }

+ 5 - 1
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/SynchroAssociationServiceImpl.java

@@ -31,17 +31,20 @@ import java.util.List;
 @Repository
 public class SynchroAssociationServiceImpl extends JpaServiceImpl<SynchroAssociationMapper,SynchroAssociation,String>  implements SynchroAssociationService {
 
+    @Override
     public List<SynchroAssociation> findBySyncIdAndObjectType(Long syncId, String objectType) {
 
         return getMapper().findBySyncIdAndObjectType(syncId,objectType);
     }
 
+    @Override
     public void deleteFieldMapById(Long id){
         ArrayList<String> ids = new ArrayList<>();
         ids.add(String.valueOf(id));
         super.deleteBatch(ids);
     }
 
+    @Override
     public List<SynchroAssociation> findBySyncId(Long syncId) {
         List<SynchroAssociation> list = find(" syncId = ? ",
                 new Object[]{syncId},
@@ -50,7 +53,8 @@ public class SynchroAssociationServiceImpl extends JpaServiceImpl<SynchroAssocia
 
     }
     
-    public List<SynchroAssociation> findBySyncId(Long syncId,String instId) {
+    @Override
+    public List<SynchroAssociation> findBySyncId(Long syncId, String instId) {
         List<SynchroAssociation> list = find(" syncId = ? and instId = ? ",
                 new Object[]{syncId,instId},
                 new int[]{Types.BIGINT,Types.VARCHAR});

+ 6 - 2
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/SynchroRelatedServiceImpl.java

@@ -33,10 +33,12 @@ import org.springframework.stereotype.Repository;
 @Repository
 public class SynchroRelatedServiceImpl  extends JpaServiceImpl<SynchroRelatedMapper,SynchroRelated,String> implements SynchroRelatedService{
 
+    @Override
     public int updateSyncTime(SynchroRelated synchroRelated) {
         return getMapper().updateSyncTime(synchroRelated);
     }
     
+    @Override
     public List<SynchroRelated> findOrgs(Synchronizers synchronizer) {
         return find(
                 "instid = ? and syncid = ? and objecttype = ? ",
@@ -45,13 +47,15 @@ public class SynchroRelatedServiceImpl  extends JpaServiceImpl<SynchroRelatedMap
                 );
     }
     
-    public SynchroRelated findByOriginId(Synchronizers synchronizer,String originId,String classType) {
+    @Override
+    public SynchroRelated findByOriginId(Synchronizers synchronizer, String originId, String classType) {
         return findOne("instid = ? and syncId = ? and originid = ? and objecttype = ? ",
                  new Object[] { synchronizer.getInstId(),synchronizer.getId(),originId,classType },
                 new int[] { Types.VARCHAR, Types.VARCHAR, Types.VARCHAR,Types.VARCHAR});
     }
     
-    public void updateSynchroRelated(Synchronizers synchronizer,SynchroRelated synchroRelated,String classType) {
+    @Override
+    public void updateSynchroRelated(Synchronizers synchronizer, SynchroRelated synchroRelated, String classType) {
         SynchroRelated loadSynchroRelated = 
                 findByOriginId(
                         synchronizer,synchroRelated.getOriginId(),classType );

+ 33 - 6
maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/impl/UserInfoServiceImpl.java

@@ -70,7 +70,8 @@ public class UserInfoServiceImpl extends JpaServiceImpl<UserInfoMapper,UserInfo,
         return false;
     }
     
-    public boolean insert(UserInfo userInfo,boolean passwordEncoder) {
+    @Override
+    public boolean insert(UserInfo userInfo, boolean passwordEncoder) {
         if(passwordEncoder) {
             this.passwordEncoder(userInfo);
         }
@@ -91,6 +92,7 @@ public class UserInfoServiceImpl extends JpaServiceImpl<UserInfoMapper,UserInfo,
         return false;
     }
     
+    @Override
     public boolean delete(UserInfo userInfo) {
         if( super.delete(userInfo.getId())){
              return true;
@@ -99,6 +101,7 @@ public class UserInfoServiceImpl extends JpaServiceImpl<UserInfoMapper,UserInfo,
     }
     
     //更新账号状态
+    @Override
     public void accountUpdate(UserInfo userInfo) {
         if(userInfo.getStatus() != ConstsStatus.ACTIVE) {
             if(accountsService==null) {
@@ -114,15 +117,17 @@ public class UserInfoServiceImpl extends JpaServiceImpl<UserInfoMapper,UserInfo,
         }
     }
 
+    @Override
     public UserInfo findUserRelated(String userId) {
         UserInfo loadUserInfo =this.get(userId);
         loadUserInfo.setDepts(getMapper().findDeptsByUserId(userId));
         return loadUserInfo;
     }
     
-    public boolean updateGridList(String gridList,UserInfo userInfo) {
+    @Override
+    public boolean updateGridList(String gridList, UserInfo userInfo) {
         try {
-            if (gridList != null && !gridList.equals("")) {
+            if (gridList != null && !"".equals(gridList)) {
                 userInfo.setGridList(Integer.parseInt(gridList));
                 getMapper().updateGridList(userInfo);
             }
@@ -134,6 +139,7 @@ public class UserInfoServiceImpl extends JpaServiceImpl<UserInfoMapper,UserInfo,
     }
     
     
+    @Override
     public void saveOrUpdate(UserInfo userInfo) {
         UserInfo loadUserInfo = findOne(" username = ? and instid = ?",
                 new Object[] { userInfo.getUsername(),userInfo.getInstId() },
@@ -146,6 +152,7 @@ public class UserInfoServiceImpl extends JpaServiceImpl<UserInfoMapper,UserInfo,
         }
     }
     
+    @Override
     public boolean updateProtectedApps(UserInfo userinfo) {
         try {
             userinfo.setModifiedDate(new Date());
@@ -156,15 +163,18 @@ public class UserInfoServiceImpl extends JpaServiceImpl<UserInfoMapper,UserInfo,
         return false;
     }
 
+    @Override
     public UserInfo findByUsername(String username) {
         return getMapper().findByUsername(username);
     }
     
+    @Override
     public UserInfo findByEmailMobile(String emailMobile) {
         return getMapper().findByEmailMobile(emailMobile);
     }
     
-    public UserInfo findByAppIdAndUsername(String appId,String username){
+    @Override
+    public UserInfo findByAppIdAndUsername(String appId, String username){
         try {
             UserInfo userinfo = new UserInfo();
             userinfo.setUsername(username);
@@ -175,6 +185,7 @@ public class UserInfoServiceImpl extends JpaServiceImpl<UserInfoMapper,UserInfo,
         return null;
     }
     
+    @Override
     public ChangePassword passwordEncoder(UserInfo userInfo) {
         ChangePassword changePassword = null;
         if(StringUtils.isNotBlank(userInfo.getPassword())) {
@@ -190,6 +201,7 @@ public class UserInfoServiceImpl extends JpaServiceImpl<UserInfoMapper,UserInfo,
         return changePassword;
     }
     
+    @Override
     public ChangePassword passwordEncoder(ChangePassword changePassword) {
         //密码不为空,则需要进行加密处理
         if(StringUtils.isNotBlank(changePassword.getPassword())) {
@@ -214,7 +226,8 @@ public class UserInfoServiceImpl extends JpaServiceImpl<UserInfoMapper,UserInfo,
      * @param passwordSetType
      * @return
      */
-    public boolean changePassword(  ChangePassword changePassword) {
+    @Override
+    public boolean changePassword(ChangePassword changePassword) {
         try {
             WebContext.setAttribute(PasswordPolicyValidatorServiceImpl.PASSWORD_POLICY_VALIDATE_RESULT, "");
             UserInfo userInfo = this.findByUsername(changePassword.getUsername());
@@ -252,7 +265,8 @@ public class UserInfoServiceImpl extends JpaServiceImpl<UserInfoMapper,UserInfo,
      * @param passwordPolicy
      * @return
      */
-    public boolean changePassword(ChangePassword changePassword,boolean passwordPolicy) {
+    @Override
+    public boolean changePassword(ChangePassword changePassword, boolean passwordPolicy) {
         try {
             _logger.debug("decipherable old : {}" , changePassword.getDecipherable());
             _logger.debug("decipherable new : {}" , PasswordReciprocal.getInstance().encode(changePassword.getDecipherable()));
@@ -272,10 +286,12 @@ public class UserInfoServiceImpl extends JpaServiceImpl<UserInfoMapper,UserInfo,
         return false;
     }
     
+    @Override
     public String randomPassword() {
         return passwordPolicyValidatorService.generateRandomPassword();
     }
     
+    @Override
     public boolean updateAppLoginPassword(UserInfo userinfo) {
         try {
             userinfo.setModifiedDate(new Date());
@@ -291,6 +307,7 @@ public class UserInfoServiceImpl extends JpaServiceImpl<UserInfoMapper,UserInfo,
      * 锁定用户:islock:1 解锁 5 锁定
      * @param userInfo
      */
+    @Override
     public void locked(UserInfo userInfo) {
         try {
             if(userInfo != null && StringUtils.isNotEmpty(userInfo.getId())) {
@@ -306,6 +323,7 @@ public class UserInfoServiceImpl extends JpaServiceImpl<UserInfoMapper,UserInfo,
      * 用户登录成功后,重置错误密码次数和解锁用户
      * @param userInfo
      */
+    @Override
     public void lockout(UserInfo userInfo) {
         try {
             if(userInfo != null && StringUtils.isNotEmpty(userInfo.getId())) {
@@ -322,6 +340,7 @@ public class UserInfoServiceImpl extends JpaServiceImpl<UserInfoMapper,UserInfo,
      * 更新错误密码次数
      * @param userInfo
      */
+    @Override
     public void badPasswordCount(UserInfo userInfo) {
         try {
             if(userInfo != null && StringUtils.isNotEmpty(userInfo.getId())) {
@@ -338,6 +357,7 @@ public class UserInfoServiceImpl extends JpaServiceImpl<UserInfoMapper,UserInfo,
      * 重置错误密码次数
      * @param userInfo
      */
+    @Override
     public void badPasswordCountReset(UserInfo userInfo) {
         try {
             if(userInfo != null && StringUtils.isNotEmpty(userInfo.getId())) {
@@ -348,30 +368,37 @@ public class UserInfoServiceImpl extends JpaServiceImpl<UserInfoMapper,UserInfo,
         }
     }
 
+    @Override
     public boolean updateSharedSecret(UserInfo userInfo){
         return getMapper().updateSharedSecret(userInfo)>0;
     }
     
+    @Override
     public boolean updatePasswordQuestion(UserInfo userInfo){
         return getMapper().updatePasswordQuestion(userInfo)>0;
     }
     
+    @Override
     public boolean updateAuthnType(UserInfo userInfo){
         return getMapper().updateAuthnType(userInfo)>0;
     }
     
+    @Override
     public boolean updateEmail(UserInfo userInfo){
         return getMapper().updateEmail(userInfo)>0;
     }
     
+    @Override
     public boolean updateMobile(UserInfo userInfo){
         return getMapper().updateMobile(userInfo)>0;
     }
     
+    @Override
     public int updateProfile(UserInfo userInfo){
         return getMapper().updateProfile(userInfo);
     }
     
+    @Override
     public boolean     updateStatus(UserInfo userInfo) {
         return getMapper().updateStatus(userInfo) > 0;
     }

+ 7 - 7
maxkey-protocols/maxkey-protocol-authorize/src/main/java/org/dromara/maxkey/authz/endpoint/adapter/AbstractAuthorizeAdapter.java

@@ -98,19 +98,19 @@ public abstract class AbstractAuthorizeAdapter {
         String value = "";
         if(StringUtils.isBlank(userAttr)) {
             value = userInfo.getUsername();
-        }else if(userAttr.equalsIgnoreCase("username")){
+        }else if("username".equalsIgnoreCase(userAttr)){
             value = userInfo.getUsername();
-        }else if(userAttr.equalsIgnoreCase("userId")){
+        }else if("userId".equalsIgnoreCase(userAttr)){
             value = userInfo.getId();
-        }else if(userAttr.equalsIgnoreCase("email")){
+        }else if("email".equalsIgnoreCase(userAttr)){
             value = userInfo.getEmail();
-        }else if(userAttr.equalsIgnoreCase("mobile")){
+        }else if("mobile".equalsIgnoreCase(userAttr)){
             value = userInfo.getMobile();
-        }else if(userAttr.equalsIgnoreCase("workEmail")) {
+        }else if("workEmail".equalsIgnoreCase(userAttr)) {
             value = userInfo.getWorkEmail();
-        }else if(userAttr.equalsIgnoreCase("windowsAccount")){
+        }else if("windowsAccount".equalsIgnoreCase(userAttr)){
             value = userInfo.getWindowsAccount();
-        }else if(userAttr.equalsIgnoreCase("employeeNumber")){
+        }else if("employeeNumber".equalsIgnoreCase(userAttr)){
             value = userInfo.getEmployeeNumber();
         }else {
             value = userInfo.getId();

+ 10 - 10
maxkey-protocols/maxkey-protocol-cas/src/main/java/org/dromara/maxkey/authz/cas/ticket/RandomServiceTicketServices.java

@@ -36,15 +36,15 @@ public abstract class RandomServiceTicketServices implements TicketServices {
          */
         //String ticket = UUID.randomUUID().toString();
         String ticketId = "";
-        if(ticket.getClass().getSimpleName().equalsIgnoreCase("ServiceTicketImpl")){
+        if("ServiceTicketImpl".equalsIgnoreCase(ticket.getClass().getSimpleName())){
             ticketId = generator.getNewTicketId(CasConstants.PREFIX.SERVICE_TICKET_PREFIX);
-        }else if(ticket.getClass().getSimpleName().equalsIgnoreCase("ProxyTicketImpl")){
+        }else if("ProxyTicketImpl".equalsIgnoreCase(ticket.getClass().getSimpleName())){
             ticketId = generator.getNewTicketId(CasConstants.PREFIX.PROXY_TICKET_PREFIX);
-        }else if(ticket.getClass().getSimpleName().equalsIgnoreCase("TicketGrantingTicketImpl")){
+        }else if("TicketGrantingTicketImpl".equalsIgnoreCase(ticket.getClass().getSimpleName())){
             ticketId = generator.getNewTicketId(CasConstants.PREFIX.TICKET_GRANTING_TICKET_PREFIX);
-        }else if(ticket.getClass().getSimpleName().equalsIgnoreCase("ProxyGrantingTicketImpl")){
+        }else if("ProxyGrantingTicketImpl".equalsIgnoreCase(ticket.getClass().getSimpleName())){
             ticketId = generator.getNewTicketId(CasConstants.PREFIX.PROXY_GRANTING_TICKET_PREFIX);
-        }else if(ticket.getClass().getSimpleName().equalsIgnoreCase("ProxyGrantingTicketIOUImpl")){
+        }else if("ProxyGrantingTicketIOUImpl".equalsIgnoreCase(ticket.getClass().getSimpleName())){
             ticketId = generator.getNewTicketId(CasConstants.PREFIX.PROXY_GRANTING_TICKET_IOU_PREFIX);
             return ticketId;
         }else {
@@ -65,15 +65,15 @@ public abstract class RandomServiceTicketServices implements TicketServices {
          */
         //String ticket = UUID.randomUUID().toString();
         String ticketId = "";
-        if(ticket.getClass().getSimpleName().equalsIgnoreCase("ServiceTicketImpl")){
+        if("ServiceTicketImpl".equalsIgnoreCase(ticket.getClass().getSimpleName())){
             ticketId = generator.getNewTicketId(CasConstants.PREFIX.SERVICE_TICKET_PREFIX);
-        }else if(ticket.getClass().getSimpleName().equalsIgnoreCase("ProxyTicketImpl")){
+        }else if("ProxyTicketImpl".equalsIgnoreCase(ticket.getClass().getSimpleName())){
             ticketId = generator.getNewTicketId(CasConstants.PREFIX.PROXY_TICKET_PREFIX);
-        }else if(ticket.getClass().getSimpleName().equalsIgnoreCase("TicketGrantingTicketImpl")){
+        }else if("TicketGrantingTicketImpl".equalsIgnoreCase(ticket.getClass().getSimpleName())){
             ticketId = generator.getNewTicketId(CasConstants.PREFIX.TICKET_GRANTING_TICKET_PREFIX);
-        }else if(ticket.getClass().getSimpleName().equalsIgnoreCase("ProxyGrantingTicketImpl")){
+        }else if("ProxyGrantingTicketImpl".equalsIgnoreCase(ticket.getClass().getSimpleName())){
             ticketId = generator.getNewTicketId(CasConstants.PREFIX.PROXY_GRANTING_TICKET_PREFIX);
-        }else if(ticket.getClass().getSimpleName().equalsIgnoreCase("ProxyGrantingTicketIOUImpl")){
+        }else if("ProxyGrantingTicketIOUImpl".equalsIgnoreCase(ticket.getClass().getSimpleName())){
             ticketId = generator.getNewTicketId(CasConstants.PREFIX.PROXY_GRANTING_TICKET_IOU_PREFIX);
             return ticketId;
         }else {

+ 1 - 0
maxkey-protocols/maxkey-protocol-cas/src/main/java/org/dromara/maxkey/authz/cas/ticket/TicketGrantingTicket.java

@@ -48,6 +48,7 @@ public interface TicketGrantingTicket extends Ticket {
      *
      * @return the authentication
      */
+    @Override
     Authentication getAuthentication();
 
     /**

+ 1 - 1
maxkey-protocols/maxkey-protocol-cas/src/main/java/org/dromara/maxkey/authz/cas/ticket/TicketGrantingTicketImpl.java

@@ -31,7 +31,7 @@ import jakarta.persistence.ManyToOne;
 import jakarta.persistence.Table;
 
 import org.dromara.maxkey.entity.apps.AppsCasDetails;
-import org.springframework.lang.NonNull;
+import org.jspecify.annotations.NonNull;
 import org.springframework.security.core.Authentication;
 
 import java.util.HashMap;

+ 3 - 3
maxkey-protocols/maxkey-protocol-extendapi/src/main/java/org/dromara/maxkey/authz/exapi/endpoint/adapter/ExtendApiCndnsApiMailAdapter.java

@@ -77,9 +77,9 @@ public class ExtendApiCndnsApiMailAdapter extends AbstractAuthorizeAdapter {
         String domain = null;
         if(details.getIsExtendAttr()==1){
             extraAttrs=new ExtraAttrs(details.getExtendAttr());
-            if(extraAttrs.get("action")==null || extraAttrs.get("action").equalsIgnoreCase("getWebMailUrl")) {
+            if(extraAttrs.get("action")==null || "getWebMailUrl".equalsIgnoreCase(extraAttrs.get("action"))) {
                 action = "getWebMailUrl";
-            }else if(extraAttrs.get("action").equalsIgnoreCase("getDomailUrl")){
+            }else if("getDomailUrl".equalsIgnoreCase(extraAttrs.get("action"))){
                 action = "getDomailUrl";
                 domain = extraAttrs.get("domain");
             }
@@ -90,7 +90,7 @@ public class ExtendApiCndnsApiMailAdapter extends AbstractAuthorizeAdapter {
         String tokenMd5 =DigestUtils.md5Hex(details.getCredentials());
         HashMap<String,Object > requestParamenter =new HashMap<String,Object >();
         String redirect_uri = "";
-        if(action.equalsIgnoreCase("getDomailUrl")) {
+        if("getDomailUrl".equalsIgnoreCase(action)) {
             String sign =DigestUtils.md5Hex
                     (String.format(
                             SIGN_STRING,

+ 5 - 5
maxkey-protocols/maxkey-protocol-extendapi/src/main/java/org/dromara/maxkey/authz/exapi/endpoint/adapter/ExtendApiTimestampSignAdapter.java

@@ -68,15 +68,15 @@ public class ExtendApiTimestampSignAdapter extends AbstractAuthorizeAdapter {
         ExtraAttrs extraAttrs=null;
         if(details.getIsExtendAttr()==1){
             extraAttrs=new ExtraAttrs(details.getExtendAttr());
-            if(extraAttrs.get("sign") == null || extraAttrs.get("sign").equalsIgnoreCase("md5")) {
+            if(extraAttrs.get("sign") == null || "md5".equalsIgnoreCase(extraAttrs.get("sign"))) {
                 
-            }else if(extraAttrs.get("sign").equalsIgnoreCase("sha") || extraAttrs.get("sign").equalsIgnoreCase("sha1")) {
+            }else if("sha".equalsIgnoreCase(extraAttrs.get("sign")) || "sha1".equalsIgnoreCase(extraAttrs.get("sign"))) {
                 token =DigestUtils.shaHex(code+key+timestamp);
-            }else if(extraAttrs.get("sign").equalsIgnoreCase("sha256")) {
+            }else if("sha256".equalsIgnoreCase(extraAttrs.get("sign"))) {
                 token =DigestUtils.sha256Hex(code+key+timestamp);
-            }else if(extraAttrs.get("sign").equalsIgnoreCase("sha384")) {
+            }else if("sha384".equalsIgnoreCase(extraAttrs.get("sign"))) {
                 token =DigestUtils.sha384Hex(code+key+timestamp);
-            }else if(extraAttrs.get("sign").equalsIgnoreCase("sha512")) {
+            }else if("sha512".equalsIgnoreCase(extraAttrs.get("sign"))) {
                 token =DigestUtils.sha512Hex(code+key+timestamp);
             }
         }

+ 1 - 1
maxkey-protocols/maxkey-protocol-formbased/src/main/java/org/dromara/maxkey/authz/formbased/endpoint/adapter/FormBasedDefaultAdapter.java

@@ -44,7 +44,7 @@ public class FormBasedDefaultAdapter extends AbstractAuthorizeAdapter {
         String passwordAlgorithm = details.getPasswordAlgorithm();
         
         if(StringUtils.isBlank(passwordAlgorithm) 
-                || passwordAlgorithm.equalsIgnoreCase("NONE")){
+                || "NONE".equalsIgnoreCase(passwordAlgorithm)){
             //do nothing
         }else if(passwordAlgorithm.indexOf(_HEX) > -1){
             passwordAlgorithm = passwordAlgorithm.substring(0,passwordAlgorithm.indexOf(_HEX));

+ 2 - 2
maxkey-protocols/maxkey-protocol-formbased/src/main/java/org/dromara/maxkey/authz/formbased/endpoint/adapter/FormBasedRedirectAdapter.java

@@ -39,7 +39,7 @@ public class FormBasedRedirectAdapter extends AbstractAuthorizeAdapter {
         AppsFormBasedDetails details=(AppsFormBasedDetails)app;
         
         String password = account.getRelatedPassword();
-        if(null==details.getPasswordAlgorithm()||details.getPasswordAlgorithm().equals("")){
+        if(null==details.getPasswordAlgorithm()|| "".equals(details.getPasswordAlgorithm())){
         }else if(details.getPasswordAlgorithm().indexOf("HEX")>-1){
             password = DigestUtils.digestHex(account.getRelatedPassword(),details.getPasswordAlgorithm().substring(0, details.getPasswordAlgorithm().indexOf("HEX")));
         }else{
@@ -61,7 +61,7 @@ public class FormBasedRedirectAdapter extends AbstractAuthorizeAdapter {
             WebContext.setAttribute("formbased_redirect_submint", "formbased_redirect_submint");
         }else{
             modelAndView.setViewName("authorize/formbased_redirect_post_submint");
-            if(details.getAuthorizeView()!=null&&!details.getAuthorizeView().equals("")){
+            if(details.getAuthorizeView()!=null&&!"".equals(details.getAuthorizeView())){
                 modelAndView.setViewName("authorize/"+details.getAuthorizeView());
             }
             WebContext.removeAttribute("formbased_redirect_submint");

+ 3 - 3
maxkey-protocols/maxkey-protocol-jwt/src/main/java/org/dromara/maxkey/authz/jwt/endpoint/JwtAuthorizeEndpoint.java

@@ -114,10 +114,10 @@ public class JwtAuthorizeEndpoint  extends AuthorizeBaseEndpoint{
         AppsJwtDetails jwtDetails = jwtDetailsService.get(appId , true);
         if(jwtDetails != null) {
             String jwkSetString = "";
-            if(!jwtDetails.getSignature().equalsIgnoreCase("none")) {
+            if(!"none".equalsIgnoreCase(jwtDetails.getSignature())) {
                 jwkSetString = jwtDetails.getSignatureKey();
             }
-            if(!jwtDetails.getAlgorithm().equalsIgnoreCase("none")) {
+            if(!"none".equalsIgnoreCase(jwtDetails.getAlgorithm())) {
                 if(StringUtils.isBlank(jwkSetString)) {
                     jwkSetString = jwtDetails.getAlgorithmKey();
                 }else {
@@ -127,7 +127,7 @@ public class JwtAuthorizeEndpoint  extends AuthorizeBaseEndpoint{
              
             JWKSetKeyStore jwkSetKeyStore = new JWKSetKeyStore("{\"keys\": [" + jwkSetString + "]}");
             if(StringUtils.isNotBlank(mediaType) 
-                    && mediaType.equalsIgnoreCase("xml")) {
+                    && "xml".equalsIgnoreCase(mediaType)) {
                 response.setContentType(ContentType.APPLICATION_XML_UTF8);
             }else {
                 response.setContentType(ContentType.APPLICATION_JSON_UTF8);

+ 2 - 2
maxkey-protocols/maxkey-protocol-jwt/src/main/java/org/dromara/maxkey/authz/jwt/endpoint/adapter/JwtAdapter.java

@@ -96,7 +96,7 @@ public class JwtAdapter extends AbstractAuthorizeAdapter {
 
     @Override
     public Object sign(Object data,String signatureKey,String signature) {
-        if(!jwtDetails.getSignature().equalsIgnoreCase("none")) {
+        if(!"none".equalsIgnoreCase(jwtDetails.getSignature())) {
             try {
                 DefaultJwtSigningAndValidationService jwtSignerService = 
                             new DefaultJwtSigningAndValidationService(
@@ -125,7 +125,7 @@ public class JwtAdapter extends AbstractAuthorizeAdapter {
 
     @Override
     public Object encrypt(Object data, String algorithmKey, String algorithm) {
-        if(!jwtDetails.getAlgorithm().equalsIgnoreCase("none")) {
+        if(!"none".equalsIgnoreCase(jwtDetails.getAlgorithm())) {
             try {
                 DefaultJwtEncryptionAndDecryptionService jwtEncryptionService = 
                             new DefaultJwtEncryptionAndDecryptionService(

+ 1 - 0
maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/common/DefaultOAuth2RefreshToken.java

@@ -52,6 +52,7 @@ public class DefaultOAuth2RefreshToken implements Serializable, OAuth2RefreshTok
     /* (non-Javadoc)
      * @see org.springframework.security.oauth2.common.IFOO#getValue()
      */
+    @Override
     @JsonValue
     public String getValue() {
         return value;

+ 1 - 0
maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/common/util/DefaultJdbcListFactory.java

@@ -37,6 +37,7 @@ public class DefaultJdbcListFactory implements JdbcListFactory {
         this.jdbcTemplate = jdbcTemplate;
     }
 
+    @Override
     public <T> List<T> getList(String sql, Map<String, Object> parameters, RowMapper<T> rowMapper) {
         return jdbcTemplate.query(sql, parameters, rowMapper);
     }

+ 1 - 1
maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/jwt/JwtAlgorithms.java

@@ -65,7 +65,7 @@ public class JwtAlgorithms {
     }
 
     static String enc(CipherMetadata cipher) {
-        if (!cipher.algorithm().equalsIgnoreCase("AES/CBC/PKCS5Padding")) {
+        if (!"AES/CBC/PKCS5Padding".equalsIgnoreCase(cipher.algorithm())) {
             throw new IllegalArgumentException("Unknown or unsupported algorithm");
         }
         if (cipher.keySize() == 128) {

+ 5 - 0
maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/jwt/JwtHelper.java

@@ -208,6 +208,7 @@ class JwtHeader implements BinaryFormat {
         this.parameters = parameters;
     }
 
+    @Override
     public byte[] bytes() {
         return bytes;
     }
@@ -261,6 +262,7 @@ class JwtImpl implements Jwt {
      *
      * @param verifier the signature verifier
      */
+    @Override
     public void verifySignature(SignatureVerifier verifier) {
         verifier.verify(signingInput(), crypto);
      }
@@ -274,14 +276,17 @@ class JwtImpl implements Jwt {
    *
    * @return the encoded header, claims and crypto segments concatenated with "." characters
    */
+    @Override
     public byte[] bytes() {
         return concat(b64UrlEncode(header.bytes()), JwtHelper.PERIOD, b64UrlEncode(content), JwtHelper.PERIOD, b64UrlEncode(crypto));
     }
 
+    @Override
     public String getClaims() {
         return utf8Decode(content);
     }
 
+    @Override
     public String getEncoded() {
         return utf8Decode(bytes());
     }

+ 3 - 0
maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/jwt/crypto/sign/MacSigner.java

@@ -45,6 +45,7 @@ public class MacSigner implements SignerVerifier {
 
 //    val keyLength = key.getEncoded.length * 8
 
+    @Override
     public byte[] sign(byte[] bytes) {
         try {
             Mac mac = Mac.getInstance(algorithm);
@@ -56,6 +57,7 @@ public class MacSigner implements SignerVerifier {
         }
     }
 
+  @Override
   public void verify(byte[] content, byte[] signature) {
     byte[] signed = sign(content);
     if (!isEqual(signed, signature)) {
@@ -75,6 +77,7 @@ public class MacSigner implements SignerVerifier {
     return xor == 0;
   }
 
+    @Override
     public String algorithm() {
         return algorithm;
     }

+ 3 - 3
maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/jwt/crypto/sign/RsaKeyHelper.java

@@ -52,7 +52,7 @@ class RsaKeyHelper {
 
         try {
             KeyFactory fact = KeyFactory.getInstance("RSA");
-            if (type.equals("RSA PRIVATE KEY")) {
+            if ("RSA PRIVATE KEY".equals(type)) {
                 ASN1Sequence seq = ASN1Sequence.getInstance(content);
                 if (seq.size() != 9) {
                     throw new IllegalArgumentException("Invalid RSA Private Key ASN1 sequence.");
@@ -64,10 +64,10 @@ class RsaKeyHelper {
                     key.getCoefficient());
                 publicKey = fact.generatePublic(pubSpec);
                 privateKey = fact.generatePrivate(privSpec);
-            } else if (type.equals("PUBLIC KEY")) {
+            } else if ("PUBLIC KEY".equals(type)) {
                 KeySpec keySpec = new X509EncodedKeySpec(content);
                 publicKey = fact.generatePublic(keySpec);
-            } else if (type.equals("RSA PUBLIC KEY")) {
+            } else if ("RSA PUBLIC KEY".equals(type)) {
                 ASN1Sequence seq = ASN1Sequence.getInstance(content);
                 org.bouncycastle.asn1.pkcs.RSAPublicKey key = org.bouncycastle.asn1.pkcs.RSAPublicKey.getInstance(seq);
                 RSAPublicKeySpec pubSpec = new RSAPublicKeySpec(key.getModulus(), key.getPublicExponent());

+ 2 - 0
maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/jwt/crypto/sign/RsaSigner.java

@@ -48,6 +48,7 @@ public class RsaSigner implements Signer {
         this(loadPrivateKey(sshKey));
     }
 
+    @Override
     public byte[] sign(byte[] bytes) {
         try {
             Signature signature = Signature.getInstance(algorithm);
@@ -60,6 +61,7 @@ public class RsaSigner implements Signer {
         }
     }
 
+    @Override
     public String algorithm() {
         return algorithm;
     }

+ 2 - 0
maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/jwt/crypto/sign/RsaVerifier.java

@@ -45,6 +45,7 @@ public class RsaVerifier implements SignatureVerifier {
         this(RsaKeyHelper.parsePublicKey(key.trim()), RsaSigner.DEFAULT_ALGORITHM);
     }
 
+    @Override
     public void verify(byte[] content, byte[] sig) {
         try {
             Signature signature = Signature.getInstance(algorithm);
@@ -60,6 +61,7 @@ public class RsaVerifier implements SignatureVerifier {
         }
     }
 
+    @Override
     public String algorithm() {
         return algorithm;
     }

+ 21 - 9
maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/AuthorizationRequest.java

@@ -243,6 +243,7 @@ public class AuthorizationRequest extends BaseRequest implements Serializable {
         this.resourceIds = resourceIds;
     }
 
+    @Override
     public void setClientId(String clientId) {
         super.setClientId(clientId);
     }
@@ -256,6 +257,7 @@ public class AuthorizationRequest extends BaseRequest implements Serializable {
      * 
      * @param scope
      */
+    @Override
     public void setScope(Collection<String> scope) {
         super.setScope(scope);
     }
@@ -269,6 +271,7 @@ public class AuthorizationRequest extends BaseRequest implements Serializable {
      * 
      * @param requestParameters
      */
+    @Override
     public void setRequestParameters(Map<String, String> requestParameters) {
         super.setRequestParameters(requestParameters);
     }
@@ -329,28 +332,37 @@ public class AuthorizationRequest extends BaseRequest implements Serializable {
 
     @Override
     public boolean equals(Object obj) {
-        if (this == obj)
+        if (this == obj) {
             return true;
-        if (!super.equals(obj))
+        }
+        if (!super.equals(obj)) {
             return false;
-        if (getClass() != obj.getClass())
+        }
+        if (getClass() != obj.getClass()) {
             return false;
+        }
         AuthorizationRequest other = (AuthorizationRequest) obj;
         if (approvalParameters == null) {
-            if (other.approvalParameters != null)
+            if (other.approvalParameters != null) {
                 return false;
-        } else if (!approvalParameters.equals(other.approvalParameters))
+            }
+        } else if (!approvalParameters.equals(other.approvalParameters)) {
             return false;
+        }
         if (responseTypes == null) {
-            if (other.responseTypes != null)
+            if (other.responseTypes != null) {
                 return false;
-        } else if (!responseTypes.equals(other.responseTypes))
+            }
+        } else if (!responseTypes.equals(other.responseTypes)) {
             return false;
+        }
         if (state == null) {
-            if (other.state != null)
+            if (other.state != null) {
                 return false;
-        } else if (!state.equals(other.state))
+            }
+        } else if (!state.equals(other.state)) {
             return false;
+        }
         return true;
     }
 

+ 18 - 9
maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/BaseRequest.java

@@ -105,28 +105,37 @@ abstract class BaseRequest implements Serializable {
 
     @Override
     public boolean equals(Object obj) {
-        if (this == obj)
+        if (this == obj) {
             return true;
-        if (obj == null)
+        }
+        if (obj == null) {
             return false;
-        if (getClass() != obj.getClass())
+        }
+        if (getClass() != obj.getClass()) {
             return false;
+        }
         BaseRequest other = (BaseRequest) obj;
         if (clientId == null) {
-            if (other.clientId != null)
+            if (other.clientId != null) {
                 return false;
-        } else if (!clientId.equals(other.clientId))
+            }
+        } else if (!clientId.equals(other.clientId)) {
             return false;
+        }
         if (requestParameters == null) {
-            if (other.requestParameters != null)
+            if (other.requestParameters != null) {
                 return false;
-        } else if (!requestParameters.equals(other.requestParameters))
+            }
+        } else if (!requestParameters.equals(other.requestParameters)) {
             return false;
+        }
         if (scope == null) {
-            if (other.scope != null)
+            if (other.scope != null) {
                 return false;
-        } else if (!scope.equals(other.scope))
+            }
+        } else if (!scope.equals(other.scope)) {
             return false;
+        }
         return true;
     }
 

+ 1 - 0
maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/CompositeTokenGranter.java

@@ -33,6 +33,7 @@ public class CompositeTokenGranter implements TokenGranter {
         this.tokenGranters = new ArrayList<TokenGranter>(tokenGranters);
     }
     
+    @Override
     public OAuth2AccessToken grant(String grantType, TokenRequest tokenRequest) {
         for (TokenGranter granter : tokenGranters) {
             OAuth2AccessToken grant = granter.grant(grantType, tokenRequest);

+ 2 - 0
maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/OAuth2Authentication.java

@@ -47,10 +47,12 @@ public class OAuth2Authentication extends AbstractAuthenticationToken {
         this.userAuthentication = userAuthentication;
     }
 
+    @Override
     public Object getCredentials() {
         return "";
     }
 
+    @Override
     public Object getPrincipal() {
         return this.userAuthentication == null ? this.storedRequest.getClientId() : this.userAuthentication
                 .getPrincipal();

+ 28 - 14
maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/OAuth2Request.java

@@ -255,45 +255,59 @@ public class OAuth2Request extends BaseRequest implements Serializable {
 
     @Override
     public boolean equals(Object obj) {
-        if (this == obj)
+        if (this == obj) {
             return true;
-        if (!super.equals(obj))
+        }
+        if (!super.equals(obj)) {
             return false;
-        if (getClass() != obj.getClass())
+        }
+        if (getClass() != obj.getClass()) {
             return false;
+        }
         OAuth2Request other = (OAuth2Request) obj;
-        if (approved != other.approved)
+        if (approved != other.approved) {
             return false;
+        }
         if (authorities == null) {
-            if (other.authorities != null)
+            if (other.authorities != null) {
                 return false;
+            }
         }
-        else if (!authorities.equals(other.authorities))
+        else if (!authorities.equals(other.authorities)) {
             return false;
+        }
         if (extensions == null) {
-            if (other.extensions != null)
+            if (other.extensions != null) {
                 return false;
+            }
         }
-        else if (!extensions.equals(other.extensions))
+        else if (!extensions.equals(other.extensions)) {
             return false;
+        }
         if (redirectUri == null) {
-            if (other.redirectUri != null)
+            if (other.redirectUri != null) {
                 return false;
+            }
         }
-        else if (!redirectUri.equals(other.redirectUri))
+        else if (!redirectUri.equals(other.redirectUri)) {
             return false;
+        }
         if (resourceIds == null) {
-            if (other.resourceIds != null)
+            if (other.resourceIds != null) {
                 return false;
+            }
         }
-        else if (!resourceIds.equals(other.resourceIds))
+        else if (!resourceIds.equals(other.resourceIds)) {
             return false;
+        }
         if (responseTypes == null) {
-            if (other.responseTypes != null)
+            if (other.responseTypes != null) {
                 return false;
+            }
         }
-        else if (!responseTypes.equals(other.responseTypes))
+        else if (!responseTypes.equals(other.responseTypes)) {
             return false;
+        }
         return true;
     }
 

+ 1 - 0
maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/OAuth2UserDetailsService.java

@@ -37,6 +37,7 @@ public class OAuth2UserDetailsService implements UserDetailsService {
     
     LoginService loginRepository;
     
+    @Override
     public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
         UserInfo userInfo;
         try {

+ 11 - 0
maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/TokenRequest.java

@@ -73,6 +73,7 @@ public class TokenRequest extends BaseRequest {
         this.grantType = grantType;
     }
 
+    @Override
     public void setClientId(String clientId) {
         super.setClientId(clientId);
     }
@@ -85,6 +86,7 @@ public class TokenRequest extends BaseRequest {
      * 
      * @param scope
      */
+    @Override
     public void setScope(Collection<String> scope) {
         super.setScope(scope);
     }
@@ -97,6 +99,7 @@ public class TokenRequest extends BaseRequest {
      * 
      * @param requestParameters
      */
+    @Override
     public void setRequestParameters(Map<String, String> requestParameters) {
         super.setRequestParameters(requestParameters);
     }
@@ -113,4 +116,12 @@ public class TokenRequest extends BaseRequest {
                     client.getResourceIds(), null, null, null, null, null);
     }
 
+    @Override
+    public boolean equals(Object obj) {
+        return super.equals(obj);
+    }
+    @Override
+    public int hashCode() {
+        return super.hashCode();
+    }
 }

+ 6 - 2
maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/approval/ApprovalStoreUserApprovalHandler.java

@@ -92,17 +92,20 @@ public class ApprovalStoreUserApprovalHandler implements UserApprovalHandler, In
         this.approvalExpirySeconds = approvalExpirySeconds;
     }
 
+    @Override
     public void afterPropertiesSet() {
         Assert.state(approvalStore != null, "ApprovalStore must be provided");
         Assert.state(requestFactory != null, "OAuth2RequestFactory must be provided");
     }
 
+    @Override
     public boolean isApproved(AuthorizationRequest authorizationRequest, Authentication userAuthentication) {
         return authorizationRequest.isApproved();
     }
 
+    @Override
     public AuthorizationRequest checkForPreApproval(AuthorizationRequest authorizationRequest,
-            Authentication userAuthentication) {
+                                                    Authentication userAuthentication) {
 
         String clientId = authorizationRequest.getClientId();
         Collection<String> requestedScopes = authorizationRequest.getScope();
@@ -187,8 +190,9 @@ public class ApprovalStoreUserApprovalHandler implements UserApprovalHandler, In
      * 
      * @return An approved request if all scopes have been approved by the current user.
      */
+    @Override
     public AuthorizationRequest updateAfterApproval(AuthorizationRequest authorizationRequest,
-            Authentication userAuthentication) {
+                                                    Authentication userAuthentication) {
         // Get the approved scopes
         Set<String> requestedScopes = authorizationRequest.getScope();
         Set<String> approvedScopes = new HashSet<String>();

+ 3 - 1
maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/approval/DefaultUserApprovalHandler.java

@@ -49,6 +49,7 @@ public class DefaultUserApprovalHandler implements UserApprovalHandler {
      * 
      * @return Whether the specified request has been approved by the current user.
      */
+    @Override
     public boolean isApproved(AuthorizationRequest authorizationRequest, Authentication userAuthentication) {
         if (authorizationRequest.isApproved()) {
             return true;
@@ -56,6 +57,7 @@ public class DefaultUserApprovalHandler implements UserApprovalHandler {
         return false;
     }
 
+    @Override
     public AuthorizationRequest checkForPreApproval(AuthorizationRequest authorizationRequest, Authentication userAuthentication) {
         return authorizationRequest;
     }
@@ -64,7 +66,7 @@ public class DefaultUserApprovalHandler implements UserApprovalHandler {
     public AuthorizationRequest updateAfterApproval(AuthorizationRequest authorizationRequest, Authentication userAuthentication) {
         Map<String, String> approvalParameters = authorizationRequest.getApprovalParameters();
         String flag = approvalParameters.get(approvalParameter);
-        boolean approved = flag != null && flag.toLowerCase().equals("true");
+        boolean approved = flag != null && "true".equals(flag.toLowerCase());
         authorizationRequest.setApproved(approved);
         return authorizationRequest;
     }

+ 14 - 7
maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/approval/InMemoryApprovalStore.java

@@ -94,25 +94,32 @@ public class InMemoryApprovalStore implements ApprovalStore {
 
         @Override
         public boolean equals(Object obj) {
-            if (this == obj)
+            if (this == obj) {
                 return true;
-            if (obj == null)
+            }
+            if (obj == null) {
                 return false;
-            if (getClass() != obj.getClass())
+            }
+            if (getClass() != obj.getClass()) {
                 return false;
+            }
             Key other = (Key) obj;
             if (clientId == null) {
-                if (other.clientId != null)
+                if (other.clientId != null) {
                     return false;
+                }
             }
-            else if (!clientId.equals(other.clientId))
+            else if (!clientId.equals(other.clientId)) {
                 return false;
+            }
             if (userId == null) {
-                if (other.userId != null)
+                if (other.userId != null) {
                     return false;
+                }
             }
-            else if (!userId.equals(other.userId))
+            else if (!userId.equals(other.userId)) {
                 return false;
+            }
             return true;
         }
 

+ 1 - 1
maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/approval/TokenStoreUserApprovalHandler.java

@@ -159,7 +159,7 @@ public class TokenStoreUserApprovalHandler implements UserApprovalHandler, Initi
     public AuthorizationRequest updateAfterApproval(AuthorizationRequest authorizationRequest, Authentication userAuthentication) {
         Map<String, String> approvalParameters = authorizationRequest.getApprovalParameters();
         String flag = approvalParameters.get(approvalParameter);
-        boolean approved = flag != null && flag.toLowerCase().equals("true");
+        boolean approved = flag != null && "true".equals(flag.toLowerCase());
         authorizationRequest.setApproved(approved);
         return authorizationRequest;
     }

+ 1 - 0
maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/approval/endpoint/OAuth20UserApprovalHandler.java

@@ -40,6 +40,7 @@ public class OAuth20UserApprovalHandler extends ApprovalStoreUserApprovalHandler
      * 
      * @param clientDetailsService a client details service
      */
+    @Override
     public void setClientDetailsService(ClientDetailsService clientDetailsService) {
         this.clientDetailsService = clientDetailsService;
         super.setClientDetailsService(clientDetailsService);

+ 1 - 0
maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/dromara/maxkey/authz/oauth2/provider/authentication/OAuth2AuthenticationDetailsSource.java

@@ -27,6 +27,7 @@ import jakarta.servlet.http.HttpServletRequest;
 public class OAuth2AuthenticationDetailsSource implements
         AuthenticationDetailsSource<HttpServletRequest, OAuth2AuthenticationDetails> {
 
+    @Override
     public OAuth2AuthenticationDetails buildDetails(HttpServletRequest context) {
         return new OAuth2AuthenticationDetails(context);
     }

Некоторые файлы не были показаны из-за большого количества измененных файлов