提交 d0852a41 编写于 作者: O o2null

Merge branch 'feature/java11' into 'develop'

plainText

See merge request o2oa/o2oa!1639
...@@ -11,6 +11,7 @@ import com.x.base.core.entity.JpaObject; ...@@ -11,6 +11,7 @@ import com.x.base.core.entity.JpaObject;
import com.x.base.core.entity.tools.JpaObjectTools; import com.x.base.core.entity.tools.JpaObjectTools;
import com.x.base.core.project.config.Config; import com.x.base.core.project.config.Config;
import com.x.base.core.project.config.Node; 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 com.x.base.core.project.tools.ListTools;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
...@@ -62,7 +63,7 @@ public class PersistenceXmlHelper { ...@@ -62,7 +63,7 @@ public class PersistenceXmlHelper {
throw new Exception("registContainerEntity error.className:" + ListTools.toStringJoin(classNames), e); throw new Exception("registContainerEntity error.className:" + ListTools.toStringJoin(classNames), e);
} }
} }
public static void writeForDdl(String path) throws Exception { public static void writeForDdl(String path) throws Exception {
try { try {
Document document = DocumentHelper.createDocument(); Document document = DocumentHelper.createDocument();
......
...@@ -8,6 +8,7 @@ import org.apache.commons.lang3.StringUtils; ...@@ -8,6 +8,7 @@ import org.apache.commons.lang3.StringUtils;
import com.x.base.core.entity.StorageProtocol; import com.x.base.core.entity.StorageProtocol;
import com.x.base.core.entity.StorageType; import com.x.base.core.entity.StorageType;
import com.x.base.core.project.annotation.FieldDescribe; import com.x.base.core.project.annotation.FieldDescribe;
import com.x.base.core.project.tools.Crypto;
import com.x.base.core.project.tools.ListTools; import com.x.base.core.project.tools.ListTools;
public class StorageServer extends ConfigObject { public class StorageServer extends ConfigObject {
......
...@@ -9,6 +9,9 @@ import java.util.Map; ...@@ -9,6 +9,9 @@ import java.util.Map;
import java.util.Objects; import java.util.Objects;
import com.x.base.core.project.tools.BaseTools; 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.io.FileUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -31,6 +34,11 @@ public class Token extends ConfigObject { ...@@ -31,6 +34,11 @@ public class Token extends ConfigObject {
public static final String defaultSslKeyStorePassword = "123456"; public static final String defaultSslKeyStorePassword = "123456";
public static final String defaultSslKeyManagerPassword = "123456"; public static final String defaultSslKeyManagerPassword = "123456";
// 此对象临时计算无需存储
private transient String _cipher = "";
// 此对象临时计算无需存储
private transient String _password = "";
public static Token defaultInstance() { public static Token defaultInstance() {
Token o = new Token(); Token o = new Token();
return o; return o;
...@@ -45,7 +53,7 @@ public class Token extends ConfigObject { ...@@ -45,7 +53,7 @@ public class Token extends ConfigObject {
this.initialManagerDistinguishedName = defaultInitialManagerDistinguishedName; this.initialManagerDistinguishedName = defaultInitialManagerDistinguishedName;
} }
/** 加密用的key,用于加密口令 */ // 加密用的key,用于加密口令
@FieldDescribe("加密用口令的密钥,修改后会导致用户口令验证失败.") @FieldDescribe("加密用口令的密钥,修改后会导致用户口令验证失败.")
private String key; private String key;
...@@ -73,7 +81,7 @@ public class Token extends ConfigObject { ...@@ -73,7 +81,7 @@ public class Token extends ConfigObject {
@FieldDescribe("作为客户端单点登录配置") @FieldDescribe("作为客户端单点登录配置")
private List<OauthClient> oauthClients = new ArrayList<>(); private List<OauthClient> oauthClients = new ArrayList<>();
/* 前面的代码是 key+surfix 结果是nullo2platform */ // 前面的代码是 key+surfix 结果是nullo2platform
public String getKey() { public String getKey() {
String val = Objects.toString(key, "") + surfix; String val = Objects.toString(key, "") + surfix;
return StringUtils.substring(val, 0, 8); return StringUtils.substring(val, 0, 8);
...@@ -87,12 +95,19 @@ public class Token extends ConfigObject { ...@@ -87,12 +95,19 @@ public class Token extends ConfigObject {
} }
} }
public String getCipher() { public String getCipher() throws Exception {
return this.getPassword() + surfix; if (StringUtils.isEmpty(this._cipher)) {
this._cipher = DigestUtils.md5Hex(this.getPassword());
}
return this._cipher;
// return this.getPassword() + surfix;
} }
public String getPassword() { public String getPassword() throws Exception {
return StringUtils.isEmpty(this.password) ? initPassword : this.password; if (StringUtils.isEmpty(this._password)) {
this._password = StringUtils.isEmpty(this.password) ? initPassword : Crypto.plainText(this.password);
}
return this._password;
} }
public void setPassword(String password) { public void setPassword(String password) {
...@@ -178,7 +193,7 @@ public class Token extends ConfigObject { ...@@ -178,7 +193,7 @@ public class Token extends ConfigObject {
public void save() throws Exception { public void save() throws Exception {
File file = new File(Config.base(), Config.PATH_CONFIG_TOKEN); File file = new File(Config.base(), Config.PATH_CONFIG_TOKEN);
FileUtils.write(file, XGsonBuilder.toJson(this), DefaultCharset.charset); 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) { public boolean isInitialManager(String name) {
...@@ -309,8 +324,6 @@ public class Token extends ConfigObject { ...@@ -309,8 +324,6 @@ public class Token extends ConfigObject {
this.roleList = roleList; this.roleList = roleList;
} }
public String getUnique() { public String getUnique() {
return unique; return unique;
} }
......
...@@ -126,7 +126,7 @@ public class Crypto { ...@@ -126,7 +126,7 @@ public class Crypto {
public static final String TEST_PUBLIC_KEY = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCWcVZIS57VeOUzi8c01WKvwJK9uRe6hrGTUYmF6J/pI6/UvCbdBWCoErbzsBZOElOH8Sqal3vsNMVLjPYClfoDyYDaUlakP3ldfnXJzAFJVVubF53KadG+fwnh9ZMvxdh7VXVqRL3IQBDwGgzX4rmSK+qkUJjc3OkrNJPB7LLD8QIDAQAB"; 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 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)) { if (StringUtils.isEmpty(text)) {
return text; return text;
} }
......
...@@ -98,7 +98,7 @@ public class ResourceFactory { ...@@ -98,7 +98,7 @@ public class ResourceFactory {
dataSource.setDriverClass(ds.getDriverClassName()); dataSource.setDriverClass(ds.getDriverClassName());
dataSource.setPreferredTestQuery(SlicePropertiesBuilder.validationQueryOfUrl(ds.getUrl())); dataSource.setPreferredTestQuery(SlicePropertiesBuilder.validationQueryOfUrl(ds.getUrl()));
dataSource.setUser(ds.getUsername()); dataSource.setUser(ds.getUsername());
dataSource.setPassword(Crypto.plainTextPassword(ds.getPassword())); dataSource.setPassword(ds.getPassword());
dataSource.setMaxPoolSize(ds.getMaxTotal()); dataSource.setMaxPoolSize(ds.getMaxTotal());
dataSource.setMinPoolSize(ds.getMaxIdle()); dataSource.setMinPoolSize(ds.getMaxIdle());
// 增加校验 // 增加校验
...@@ -131,7 +131,7 @@ public class ResourceFactory { ...@@ -131,7 +131,7 @@ public class ResourceFactory {
dataSource.setDriverClass(SlicePropertiesBuilder.driver_h2); dataSource.setDriverClass(SlicePropertiesBuilder.driver_h2);
dataSource.setPreferredTestQuery(SlicePropertiesBuilder.validationQueryOfUrl(url)); dataSource.setPreferredTestQuery(SlicePropertiesBuilder.validationQueryOfUrl(url));
dataSource.setUser("sa"); dataSource.setUser("sa");
dataSource.setPassword(Crypto.plainTextPassword(Config.token().getPassword())); dataSource.setPassword(Config.token().getPassword());
dataSource.setMaxPoolSize(entry.getValue().getMaxTotal()); dataSource.setMaxPoolSize(entry.getValue().getMaxTotal());
dataSource.setMinPoolSize(entry.getValue().getMaxIdle()); dataSource.setMinPoolSize(entry.getValue().getMaxIdle());
dataSource.setAcquireIncrement(2); dataSource.setAcquireIncrement(2);
......
...@@ -9,7 +9,7 @@ public class Decrypt { ...@@ -9,7 +9,7 @@ public class Decrypt {
private static Logger logger = LoggerFactory.getLogger(Decrypt.class); private static Logger logger = LoggerFactory.getLogger(Decrypt.class);
public boolean execute(String text) throws Exception { public boolean execute(String text) throws Exception {
logger.print("decrypt text:{}", Crypto.plainTextPassword(text)); logger.print("decrypt text:{}", Crypto.plainText(text));
return true; return true;
} }
......
...@@ -20,7 +20,7 @@ public class DataServerTools { ...@@ -20,7 +20,7 @@ public class DataServerTools {
FileUtils.forceMkdir(dataBaseDir); FileUtils.forceMkdir(dataBaseDir);
Server tcpServer = null; Server tcpServer = null;
Server webServer = null; Server webServer = null;
String password = Crypto.plainTextPassword(Config.token().getPassword()); String password = Config.token().getPassword();
String[] tcps = new String[9]; String[] tcps = new String[9];
tcps[0] = "-tcp"; tcps[0] = "-tcp";
tcps[1] = "-tcpAllowOthers"; tcps[1] = "-tcpAllowOthers";
......
...@@ -24,6 +24,7 @@ import com.x.base.core.project.config.StorageServer; ...@@ -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.config.StorageServer.Account;
import com.x.base.core.project.logger.Logger; import com.x.base.core.project.logger.Logger;
import com.x.base.core.project.logger.LoggerFactory; import com.x.base.core.project.logger.LoggerFactory;
import com.x.base.core.project.tools.Crypto;
public class StorageServerTools { public class StorageServerTools {
...@@ -82,11 +83,6 @@ public class StorageServerTools { ...@@ -82,11 +83,6 @@ public class StorageServerTools {
} }
private static UserManager calculateUserManager(List<Account> list) throws Exception { private static UserManager calculateUserManager(List<Account> list) throws Exception {
// if (ListTools.isNotEmpty(list)) {
// return concreteUserManager(list);
// } else {
// return concreteDefaultUserManager();
// }
return concreteUserManager(list); return concreteUserManager(list);
} }
...@@ -116,27 +112,4 @@ public class StorageServerTools { ...@@ -116,27 +112,4 @@ public class StorageServerTools {
return userManager; return userManager;
} }
// private static UserManager concreteDefaultUserManager() throws Exception
// {
// List<BaseUser> 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<Authority> authorities = new ArrayList<Authority>();
// 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
...@@ -64,7 +64,7 @@ class ActionCaptchaLogin extends BaseAction { ...@@ -64,7 +64,7 @@ class ActionCaptchaLogin extends BaseAction {
} }
} }
if (Config.token().isInitialManager(credential)) { if (Config.token().isInitialManager(credential)) {
if (!StringUtils.equals(Crypto.plainTextPassword(Config.token().getPassword()), password)) { if (!StringUtils.equals(Config.token().getPassword(), password)) {
throw new ExceptionPersonNotExistOrInvalidPassword(); throw new ExceptionPersonNotExistOrInvalidPassword();
} }
wo = this.manager(request, response, business, Wo.class); wo = this.manager(request, response, business, Wo.class);
......
...@@ -43,7 +43,7 @@ class ActionLogin extends BaseAction { ...@@ -43,7 +43,7 @@ class ActionLogin extends BaseAction {
throw new ExceptionPasswordEmpty(); throw new ExceptionPasswordEmpty();
} }
if (Config.token().isInitialManager(credential)) { if (Config.token().isInitialManager(credential)) {
if (!StringUtils.equals(Crypto.plainTextPassword(Config.token().getPassword()), password)) { if (!StringUtils.equals(Config.token().getPassword(), password)) {
throw new ExceptionPersonNotExistOrInvalidPassword(); throw new ExceptionPersonNotExistOrInvalidPassword();
} }
wo = this.manager(request, response, business, Wo.class); wo = this.manager(request, response, business, Wo.class);
......
...@@ -14,6 +14,7 @@ import com.x.base.core.project.http.ActionResult; ...@@ -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.EffectivePerson;
import com.x.base.core.project.http.HttpToken; import com.x.base.core.project.http.HttpToken;
import com.x.base.core.project.http.TokenType; import com.x.base.core.project.http.TokenType;
import com.x.base.core.project.tools.Crypto;
class ActionLogin extends BaseAction { class ActionLogin extends BaseAction {
ActionResult<Wo> execute(EffectivePerson effectivePerson, HttpServletRequest request, HttpServletResponse response, ActionResult<Wo> execute(EffectivePerson effectivePerson, HttpServletRequest request, HttpServletResponse response,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册