diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/container/factory/PersistenceXmlHelper.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/container/factory/PersistenceXmlHelper.java index 4efebee5dacc0d3ae00412de7d05c1927128ae1e..c688162148e5282a46a17cd3b8dca0b17bb25f5d 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/container/factory/PersistenceXmlHelper.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/container/factory/PersistenceXmlHelper.java @@ -11,6 +11,7 @@ import com.x.base.core.entity.JpaObject; import com.x.base.core.entity.tools.JpaObjectTools; import com.x.base.core.project.config.Config; import com.x.base.core.project.config.Node; +import com.x.base.core.project.tools.Crypto; import com.x.base.core.project.tools.ListTools; import org.apache.commons.io.FileUtils; @@ -62,7 +63,7 @@ public class PersistenceXmlHelper { throw new Exception("registContainerEntity error.className:" + ListTools.toStringJoin(classNames), e); } } - + public static void writeForDdl(String path) throws Exception { try { Document document = DocumentHelper.createDocument(); diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/StorageServer.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/StorageServer.java index ba5b83d74c5f23da5fc96c9c1a778d11157b838d..96647b014bcb0798ae2fb3065a583dcc93288866 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/StorageServer.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/StorageServer.java @@ -8,6 +8,7 @@ import org.apache.commons.lang3.StringUtils; import com.x.base.core.entity.StorageProtocol; import com.x.base.core.entity.StorageType; import com.x.base.core.project.annotation.FieldDescribe; +import com.x.base.core.project.tools.Crypto; import com.x.base.core.project.tools.ListTools; public class StorageServer extends ConfigObject { diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/Token.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/Token.java index bfb70f673765f7c7edd04a8c38a7ea2fe8e67bdb..660450d5cc65411b3e12e55afef2bdd74df80284 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/Token.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/Token.java @@ -9,6 +9,9 @@ import java.util.Map; import java.util.Objects; import com.x.base.core.project.tools.BaseTools; +import com.x.base.core.project.tools.Crypto; + +import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; @@ -31,6 +34,11 @@ public class Token extends ConfigObject { public static final String defaultSslKeyStorePassword = "123456"; public static final String defaultSslKeyManagerPassword = "123456"; + // 此对象临时计算无需存储 + private transient String _cipher = ""; + // 此对象临时计算无需存储 + private transient String _password = ""; + public static Token defaultInstance() { Token o = new Token(); return o; @@ -45,7 +53,7 @@ public class Token extends ConfigObject { this.initialManagerDistinguishedName = defaultInitialManagerDistinguishedName; } - /** 加密用的key,用于加密口令 */ + // 加密用的key,用于加密口令 @FieldDescribe("加密用口令的密钥,修改后会导致用户口令验证失败.") private String key; @@ -73,7 +81,7 @@ public class Token extends ConfigObject { @FieldDescribe("作为客户端单点登录配置") private List oauthClients = new ArrayList<>(); - /* 前面的代码是 key+surfix 结果是nullo2platform */ + // 前面的代码是 key+surfix 结果是nullo2platform public String getKey() { String val = Objects.toString(key, "") + surfix; return StringUtils.substring(val, 0, 8); @@ -87,12 +95,19 @@ public class Token extends ConfigObject { } } - public String getCipher() { - return this.getPassword() + surfix; + public String getCipher() throws Exception { + if (StringUtils.isEmpty(this._cipher)) { + this._cipher = DigestUtils.md5Hex(this.getPassword()); + } + return this._cipher; + // return this.getPassword() + surfix; } - public String getPassword() { - return StringUtils.isEmpty(this.password) ? initPassword : this.password; + public String getPassword() throws Exception { + if (StringUtils.isEmpty(this._password)) { + this._password = StringUtils.isEmpty(this.password) ? initPassword : Crypto.plainText(this.password); + } + return this._password; } public void setPassword(String password) { @@ -178,7 +193,7 @@ public class Token extends ConfigObject { public void save() throws Exception { File file = new File(Config.base(), Config.PATH_CONFIG_TOKEN); FileUtils.write(file, XGsonBuilder.toJson(this), DefaultCharset.charset); - BaseTools.executeSyncFile(Config.PATH_CONFIG_TOKEN); + BaseTools.executeSyncFile(Config.PATH_CONFIG_TOKEN); } public boolean isInitialManager(String name) { @@ -309,8 +324,6 @@ public class Token extends ConfigObject { this.roleList = roleList; } - - public String getUnique() { return unique; } diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/tools/Crypto.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/tools/Crypto.java index 9c69f94eb0cf83885fea3dc39dca0500bb8bc329..37eac6870feb63534ab10e9b00b650fb94a94d5f 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/tools/Crypto.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/tools/Crypto.java @@ -126,7 +126,7 @@ public class Crypto { public static final String TEST_PUBLIC_KEY = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCWcVZIS57VeOUzi8c01WKvwJK9uRe6hrGTUYmF6J/pI6/UvCbdBWCoErbzsBZOElOH8Sqal3vsNMVLjPYClfoDyYDaUlakP3ldfnXJzAFJVVubF53KadG+fwnh9ZMvxdh7VXVqRL3IQBDwGgzX4rmSK+qkUJjc3OkrNJPB7LLD8QIDAQAB"; public static final String TEST_PRIVATE_KEY = "MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAJZxVkhLntV45TOLxzTVYq/Akr25F7qGsZNRiYXon+kjr9S8Jt0FYKgStvOwFk4SU4fxKpqXe+w0xUuM9gKV+gPJgNpSVqQ/eV1+dcnMAUlVW5sXncpp0b5/CeH1ky/F2HtVdWpEvchAEPAaDNfiuZIr6qRQmNzc6Ss0k8HsssPxAgMBAAECgYAWtRy05NUgm5Lc6Og0jVDL/mEnydxPBy2ectwzHh2k7wIHNi8XhUxFki2TMqzrM9Dv3/LySpMl4AE3mhs34LNPy6F+MwyF5X7j+2Y6MflJyeb9HNyT++viysQneoOEiOk3ghxF2/GPjpiEF79wSp+1YKTxRAyq7ypV3t35fGOOEQJBANLDPWl8b5c3lrcz/dTamMjHbVamEyX43yzQOphzkhYsz4pruATzTxU+z8/zPdEqHcWWV39CP3xu3EYNcAhxJW8CQQC2u7PF5Xb1xYRCsmIPssFxil64vvdUadSxl7GLAgjQ9ULyYWB24KObCEzLnPcT8Pf2Q0YQOixxa/78FuzmgbyfAkA7ZFFV/H7lugB6t+f7p24OhkRFep9CwBMD6dnZRBgSr6X8d8ZvfrD2Z7DgBMeSva+OEoOtlNmXExZ3lynO9zN5AkAVczEmIMp3DSl6XtAuAZC9kD2QODJ2QToLYsAfjiyUwsWKCC43piTuVOoW2KUUPSwOR1VZIEsJQWEcHGDQqhgHAkAeZ7a6dVRZFdBwKA0ADjYCufAW2cIYiVDQBJpgB+kiLQflusNOCBK0FT3lg8BdUSy2D253Ih6l3lbaM/4M7DFQ"; - public static String plainTextPassword(String text) throws Exception { + public static String plainText(String text) throws Exception { if (StringUtils.isEmpty(text)) { return text; } diff --git a/o2server/x_console/src/main/java/com/x/server/console/ResourceFactory.java b/o2server/x_console/src/main/java/com/x/server/console/ResourceFactory.java index fe64c3087374fb538a0206db6886d84a54deb228..a28145a619cf2693f5474567551237dac26c4b07 100644 --- a/o2server/x_console/src/main/java/com/x/server/console/ResourceFactory.java +++ b/o2server/x_console/src/main/java/com/x/server/console/ResourceFactory.java @@ -98,7 +98,7 @@ public class ResourceFactory { dataSource.setDriverClass(ds.getDriverClassName()); dataSource.setPreferredTestQuery(SlicePropertiesBuilder.validationQueryOfUrl(ds.getUrl())); dataSource.setUser(ds.getUsername()); - dataSource.setPassword(Crypto.plainTextPassword(ds.getPassword())); + dataSource.setPassword(ds.getPassword()); dataSource.setMaxPoolSize(ds.getMaxTotal()); dataSource.setMinPoolSize(ds.getMaxIdle()); // 增加校验 @@ -131,7 +131,7 @@ public class ResourceFactory { dataSource.setDriverClass(SlicePropertiesBuilder.driver_h2); dataSource.setPreferredTestQuery(SlicePropertiesBuilder.validationQueryOfUrl(url)); dataSource.setUser("sa"); - dataSource.setPassword(Crypto.plainTextPassword(Config.token().getPassword())); + dataSource.setPassword(Config.token().getPassword()); dataSource.setMaxPoolSize(entry.getValue().getMaxTotal()); dataSource.setMinPoolSize(entry.getValue().getMaxIdle()); dataSource.setAcquireIncrement(2); diff --git a/o2server/x_console/src/main/java/com/x/server/console/action/Decrypt.java b/o2server/x_console/src/main/java/com/x/server/console/action/Decrypt.java index 57cfa6fb5d1354cf930570c26c9227db2c34e815..e89dbc00d16af0f84114c0391c0ccd9ae3a186a9 100644 --- a/o2server/x_console/src/main/java/com/x/server/console/action/Decrypt.java +++ b/o2server/x_console/src/main/java/com/x/server/console/action/Decrypt.java @@ -9,7 +9,7 @@ public class Decrypt { private static Logger logger = LoggerFactory.getLogger(Decrypt.class); public boolean execute(String text) throws Exception { - logger.print("decrypt text:{}", Crypto.plainTextPassword(text)); + logger.print("decrypt text:{}", Crypto.plainText(text)); return true; } diff --git a/o2server/x_console/src/main/java/com/x/server/console/server/data/DataServerTools.java b/o2server/x_console/src/main/java/com/x/server/console/server/data/DataServerTools.java index 55f7b8cd7de10cb8e77b70f0c78cde38614156e6..1bfd036ed077e996d7df32635adfad8b47d99fc0 100644 --- a/o2server/x_console/src/main/java/com/x/server/console/server/data/DataServerTools.java +++ b/o2server/x_console/src/main/java/com/x/server/console/server/data/DataServerTools.java @@ -20,7 +20,7 @@ public class DataServerTools { FileUtils.forceMkdir(dataBaseDir); Server tcpServer = null; Server webServer = null; - String password = Crypto.plainTextPassword(Config.token().getPassword()); + String password = Config.token().getPassword(); String[] tcps = new String[9]; tcps[0] = "-tcp"; tcps[1] = "-tcpAllowOthers"; diff --git a/o2server/x_console/src/main/java/com/x/server/console/server/storage/StorageServerTools.java b/o2server/x_console/src/main/java/com/x/server/console/server/storage/StorageServerTools.java index 6ec17c397dad238a8e6514e38047b5319f78ad19..cd0553b98b7f7296ab80fa0abb23f92077c76035 100644 --- a/o2server/x_console/src/main/java/com/x/server/console/server/storage/StorageServerTools.java +++ b/o2server/x_console/src/main/java/com/x/server/console/server/storage/StorageServerTools.java @@ -24,6 +24,7 @@ import com.x.base.core.project.config.StorageServer; import com.x.base.core.project.config.StorageServer.Account; import com.x.base.core.project.logger.Logger; import com.x.base.core.project.logger.LoggerFactory; +import com.x.base.core.project.tools.Crypto; public class StorageServerTools { @@ -82,11 +83,6 @@ public class StorageServerTools { } private static UserManager calculateUserManager(List list) throws Exception { - // if (ListTools.isNotEmpty(list)) { - // return concreteUserManager(list); - // } else { - // return concreteDefaultUserManager(); - // } return concreteUserManager(list); } @@ -116,27 +112,4 @@ public class StorageServerTools { return userManager; } - // private static UserManager concreteDefaultUserManager() throws Exception - // { - // List users = new ArrayList<>(); - // for (StorageType o : StorageType.values()) { - // BaseUser user = new BaseUser(); - // user.setEnabled(true); - // user.setName(o.toString()); - // user.setPassword(Config.password()); - // File file = new File(Config.base(), "local/repository/storage/" + - // o.toString()); - // FileUtils.forceMkdir(file); - // user.setHomeDirectory(file.getAbsolutePath()); - // user.setMaxIdleTime(0); - // List authorities = new ArrayList(); - // authorities.add(new WritePermission()); - // authorities.add(new ConcurrentLoginPermission(0, 0)); - // authorities.add(new TransferRatePermission(0, 0)); - // user.setAuthorities(authorities); - // users.add(user); - // } - // StorageUserManager userManager = new StorageUserManager(users); - // return userManager; - // } } \ No newline at end of file diff --git a/o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/authentication/ActionCaptchaLogin.java b/o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/authentication/ActionCaptchaLogin.java index b29a9ae620fdc93b458b6574f89347711a7d03a9..09ca32cc44eb3b0b345314c6868801f5682cdf34 100644 --- a/o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/authentication/ActionCaptchaLogin.java +++ b/o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/authentication/ActionCaptchaLogin.java @@ -64,7 +64,7 @@ class ActionCaptchaLogin extends BaseAction { } } if (Config.token().isInitialManager(credential)) { - if (!StringUtils.equals(Crypto.plainTextPassword(Config.token().getPassword()), password)) { + if (!StringUtils.equals(Config.token().getPassword(), password)) { throw new ExceptionPersonNotExistOrInvalidPassword(); } wo = this.manager(request, response, business, Wo.class); diff --git a/o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/authentication/ActionLogin.java b/o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/authentication/ActionLogin.java index 69914fd24b2f3afb258213a1df3d7f704f79f027..26345e0db667b6a56fa7455830afc8bc3563946a 100644 --- a/o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/authentication/ActionLogin.java +++ b/o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/authentication/ActionLogin.java @@ -43,7 +43,7 @@ class ActionLogin extends BaseAction { throw new ExceptionPasswordEmpty(); } if (Config.token().isInitialManager(credential)) { - if (!StringUtils.equals(Crypto.plainTextPassword(Config.token().getPassword()), password)) { + if (!StringUtils.equals(Config.token().getPassword(), password)) { throw new ExceptionPersonNotExistOrInvalidPassword(); } wo = this.manager(request, response, business, Wo.class); diff --git a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/adminlogin/ActionLogin.java b/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/adminlogin/ActionLogin.java index 37ccb95e901f5cd888064034fa0288b0ae7e86f6..62e727c8054d7f0f58ff8f5de89fb2d3a803e2c6 100644 --- a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/adminlogin/ActionLogin.java +++ b/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/adminlogin/ActionLogin.java @@ -14,6 +14,7 @@ import com.x.base.core.project.http.ActionResult; import com.x.base.core.project.http.EffectivePerson; import com.x.base.core.project.http.HttpToken; import com.x.base.core.project.http.TokenType; +import com.x.base.core.project.tools.Crypto; class ActionLogin extends BaseAction { ActionResult execute(EffectivePerson effectivePerson, HttpServletRequest request, HttpServletResponse response,