diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/Person.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/Person.java index 69b3f9c2e09726f9a98ae191b8ffdfda5cadec7d..efe8de3a724f30deb483bea1cd5d96782e7d7c5e 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/Person.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/Person.java @@ -47,6 +47,7 @@ public class Person extends ConfigObject { public static final String DEFAULT_PASSWORDREGEXHINT = "6位以上,包含数字和字母."; public static final String DEFAULT_LANGUAGE = "zh-CN"; public static final String DEFAULT_CAPTCHAFONT = ""; + public static final String DEFAULT_TOKENNAME = "x-token"; public Person() { this.captchaLogin = DEFAULT_CAPTCHALOGIN; @@ -63,6 +64,7 @@ public class Person extends ConfigObject { this.tokenCookieHttpOnly = DEFAULT_TOKENCOOKIEHTTPONLY; this.language = DEFAULT_LANGUAGE; this.captchaFont = DEFAULT_CAPTCHAFONT; + this.tokenName = DEFAULT_TOKENNAME; } public static Person defaultInstance() { @@ -119,6 +121,9 @@ public class Person extends ConfigObject { @FieldDescribe("保存token的cookie是否启用httpOnly") private Boolean tokenCookieHttpOnly; + @FieldDescribe("使用识别用户的token名称,可自定义,默认为:" + DEFAULT_TOKENNAME + ".") + private String tokenName; + @FieldDescribe("人员组织排序是否为升序,true为升序(默认),false为降序") private Boolean personUnitOrderByAsc; @@ -192,6 +197,10 @@ public class Person extends ConfigObject { } + public String getTokenName() { + return StringUtils.isBlank(this.tokenName) ? DEFAULT_TOKENNAME : this.tokenName; + } + public Integer getFailureInterval() { return (NumberTools.nullOrLessThan(this.failureInterval, 0) ? DEFAULT_FAILUREINTERVAL : this.failureInterval); } @@ -341,4 +350,5 @@ public class Person extends ConfigObject { public void setLanguage(String language) { this.language = language; } + } diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/WebServers.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/WebServers.java index d4d75f5341dfee088cc9928bb96e7db4752a9002..e6b16581db117eff8a7342b28252679f572601b2 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/WebServers.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/WebServers.java @@ -144,7 +144,8 @@ public class WebServers extends ConcurrentSkipListMap { map.put("passwordRegexHint", Config.person().getPasswordRegexHint()); /* 平台语言 */ map.put("language", Config.person().getLanguage()); - + /* 平台TokenName */ + map.put("tokenName", Config.person().getTokenName()); /* RSA */ File publicKeyFile = new File(Config.base(), "config/public.key"); if (publicKeyFile.exists() && publicKeyFile.isFile()) { diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/connection/CipherConnectionAction.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/connection/CipherConnectionAction.java index 9ff8cd6417af4bc14628330121aa910adcdf278f..9f312dca396bb9c6e7aa5f02a66fc27543f1a043 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/connection/CipherConnectionAction.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/connection/CipherConnectionAction.java @@ -159,7 +159,8 @@ public class CipherConnectionAction { public static List cipher() throws Exception { EffectivePerson effectivePerson = EffectivePerson.cipher(Config.token().getCipher()); - return ListTools.toList(new NameValuePair(HttpToken.X_Token, effectivePerson.getToken())); +// return ListTools.toList(new NameValuePair(HttpToken.X_Token, effectivePerson.getToken())); + return ListTools.toList(new NameValuePair(Config.person().getTokenName(), effectivePerson.getToken())); } public static String trim(String uri) { diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/connection/ConnectionAction.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/connection/ConnectionAction.java index 11cf2b7b8c799e1d5834d85e3466ae1df9f19f0b..f2ae696cbb2239e9223c36fa5815147d66eb4221 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/connection/ConnectionAction.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/connection/ConnectionAction.java @@ -17,6 +17,7 @@ import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonParseException; import com.x.base.core.project.bean.NameValuePair; +import com.x.base.core.project.config.Config; import com.x.base.core.project.gson.XGsonBuilder; import com.x.base.core.project.http.ActionResult.Type; import com.x.base.core.project.tools.DefaultCharset; @@ -39,7 +40,7 @@ public class ConnectionAction { public static final String ACCESS_CONTROL_ALLOW_CREDENTIALS = "Access-Control-Allow-Credentials"; public static final String ACCESS_CONTROL_ALLOW_CREDENTIALS_VALUE = "true"; public static final String ACCESS_CONTROL_ALLOW_HEADERS = "Access-Control-Allow-Headers"; - public static final String ACCESS_CONTROL_ALLOW_HEADERS_VALUE = "x-requested-with, x-request, x-token,Content-Type, x-cipher, x-client"; + public static final String ACCESS_CONTROL_ALLOW_HEADERS_VALUE = "x-requested-with, x-request, Content-Type, x-cipher, x-client"; public static final String ACCESS_CONTROL_ALLOW_METHODS = "Access-Control-Allow-Methods"; public static final String ACCESS_CONTROL_ALLOW_METHODS_VALUE = "GET, POST, OPTIONS, PUT, DELETE, HEAD, TRACE"; @@ -399,10 +400,11 @@ public class ConnectionAction { return bytes; } - private static void addHeads(HttpURLConnection connection, List heads) { + private static void addHeads(HttpURLConnection connection, List heads) throws Exception { Map map = new TreeMap<>(); map.put(ACCESS_CONTROL_ALLOW_CREDENTIALS, ACCESS_CONTROL_ALLOW_CREDENTIALS_VALUE); - map.put(ACCESS_CONTROL_ALLOW_HEADERS, ACCESS_CONTROL_ALLOW_HEADERS_VALUE); + map.put(ACCESS_CONTROL_ALLOW_HEADERS, + ACCESS_CONTROL_ALLOW_HEADERS_VALUE + ", " + Config.person().getTokenName()); map.put(ACCESS_CONTROL_ALLOW_METHODS, ACCESS_CONTROL_ALLOW_METHODS_VALUE); map.put(CACHE_CONTROL, CACHE_CONTROL_VALUE); map.put(CONTENT_TYPE, CONTENT_TYPE_VALUE); @@ -418,10 +420,12 @@ public class ConnectionAction { map.entrySet().forEach((o -> connection.addRequestProperty(o.getKey(), o.getValue()))); } - private static void addHeadsMultiPart(HttpURLConnection connection, List heads, String boundary) { + private static void addHeadsMultiPart(HttpURLConnection connection, List heads, String boundary) + throws Exception { Map map = new TreeMap<>(); map.put(ACCESS_CONTROL_ALLOW_CREDENTIALS, ACCESS_CONTROL_ALLOW_CREDENTIALS_VALUE); - map.put(ACCESS_CONTROL_ALLOW_HEADERS, ACCESS_CONTROL_ALLOW_HEADERS_VALUE); + map.put(ACCESS_CONTROL_ALLOW_HEADERS, + ACCESS_CONTROL_ALLOW_HEADERS_VALUE + ", " + Config.person().getTokenName()); map.put(ACCESS_CONTROL_ALLOW_METHODS, ACCESS_CONTROL_ALLOW_METHODS_VALUE); map.put(CACHE_CONTROL, CACHE_CONTROL_VALUE); connection.setRequestProperty(CONTENT_TYPE, String.format("multipart/form-data; boundary=%s", boundary)); diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/connection/HttpConnection.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/connection/HttpConnection.java index 7118fc45fe604539615dbf16aa3d63b9339b651d..620b3bc700a4b95acfa12ac96a8efcbc26b5bd3e 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/connection/HttpConnection.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/connection/HttpConnection.java @@ -18,30 +18,31 @@ import org.apache.commons.lang3.StringUtils; import com.google.gson.reflect.TypeToken; import com.x.base.core.project.bean.NameValuePair; +import com.x.base.core.project.config.Config; import com.x.base.core.project.gson.XGsonBuilder; import com.x.base.core.project.tools.ListTools; public class HttpConnection { - public static final String Access_Control_Allow_Credentials = "Access-Control-Allow-Credentials"; - public static final String Access_Control_Allow_Credentials_Value = "true"; - public static final String Access_Control_Allow_Headers = "Access-Control-Allow-Headers"; - public static final String Access_Control_Allow_Headers_Value = "x-requested-with, x-request, x-token,Content-Type, x-cipher"; - public static final String Access_Control_Allow_Methods = "Access-Control-Allow-Methods"; - public static final String Access_Control_Allow_Methods_Value = "GET, POST, OPTIONS, PUT, DELETE, HEAD, TRACE"; - public static final String Cache_Control = "Cache-Control"; - public static final String Cache_Control_Value = "no-cache, no-transform"; - public static final String Content_Type = "Content-Type"; - public static final String Content_Type_Value = "application/json;charset=UTF-8"; - - public static final String METHOD_POST = "POST"; - public static final String METHOD_GET = "GET"; - public static final String METHOD_PUT = "PUT"; - public static final String METHOD_DELETE = "DELETE"; +// public static final String Access_Control_Allow_Credentials = "Access-Control-Allow-Credentials"; +// public static final String Access_Control_Allow_Credentials_Value = "true"; +// public static final String Access_Control_Allow_Headers = "Access-Control-Allow-Headers"; +// public static final String Access_Control_Allow_Headers_Value = "x-requested-with, x-request, x-token,Content-Type, x-cipher"; +// public static final String Access_Control_Allow_Methods = "Access-Control-Allow-Methods"; +// public static final String Access_Control_Allow_Methods_Value = "GET, POST, OPTIONS, PUT, DELETE, HEAD, TRACE"; +// public static final String Cache_Control = "Cache-Control"; +// public static final String Cache_Control_Value = "no-cache, no-transform"; +// public static final String Content_Type = "Content-Type"; +// public static final String Content_Type_Value = "application/json;charset=UTF-8"; +// +// public static final String METHOD_POST = "POST"; +// public static final String METHOD_GET = "GET"; +// public static final String METHOD_PUT = "PUT"; +// public static final String METHOD_DELETE = "DELETE"; public static String getAsString(String address, List heads) throws Exception { HttpURLConnection connection = prepare(address, heads); - connection.setRequestMethod(METHOD_GET); + connection.setRequestMethod(ConnectionAction.METHOD_GET); connection.setDoOutput(false); connection.setDoInput(true); String str = readResultString(connection); @@ -63,7 +64,7 @@ public class HttpConnection { public static String postAsString(String address, List heads, String body) throws Exception { HttpURLConnection connection = prepare(address, heads); - connection.setRequestMethod(METHOD_POST); + connection.setRequestMethod(ConnectionAction.METHOD_POST); connection.setDoOutput(true); connection.setDoInput(true); connection.connect(); @@ -89,7 +90,7 @@ public class HttpConnection { public static String putAsString(String address, List heads, String body) throws Exception { HttpURLConnection connection = prepare(address, heads); - connection.setRequestMethod(METHOD_PUT); + connection.setRequestMethod(ConnectionAction.METHOD_PUT); connection.setDoOutput(true); connection.setDoInput(true); connection.connect(); @@ -115,7 +116,7 @@ public class HttpConnection { public static String deleteAsString(String address, List heads) throws Exception { HttpURLConnection connection = prepare(address, heads); - connection.setRequestMethod(METHOD_DELETE); + connection.setRequestMethod(ConnectionAction.METHOD_DELETE); connection.setDoOutput(false); connection.setDoInput(true); String str = readResultString(connection); @@ -141,11 +142,13 @@ public class HttpConnection { HttpURLConnection httpUrlConnection = (HttpURLConnection) url.openConnection(); httpUrlConnection.setUseCaches(false); Map map = new HashMap<>(); - map.put(Access_Control_Allow_Credentials, Access_Control_Allow_Credentials_Value); - map.put(Access_Control_Allow_Headers, Access_Control_Allow_Headers_Value); - map.put(Access_Control_Allow_Methods, Access_Control_Allow_Methods_Value); - map.put(Cache_Control, Cache_Control_Value); - map.put(Content_Type, Content_Type_Value); + map.put(ConnectionAction.ACCESS_CONTROL_ALLOW_CREDENTIALS, + ConnectionAction.ACCESS_CONTROL_ALLOW_CREDENTIALS_VALUE); + map.put(ConnectionAction.ACCESS_CONTROL_ALLOW_HEADERS, + ConnectionAction.ACCESS_CONTROL_ALLOW_HEADERS_VALUE + ", " + Config.person().getTokenName()); + map.put(ConnectionAction.ACCESS_CONTROL_ALLOW_METHODS, ConnectionAction.ACCESS_CONTROL_ALLOW_METHODS_VALUE); + map.put(ConnectionAction.CACHE_CONTROL, ConnectionAction.CACHE_CONTROL_VALUE); + map.put(ConnectionAction.CONTENT_TYPE, ConnectionAction.CONTENT_TYPE_VALUE); for (NameValuePair o : ListTools.nullToEmpty(heads)) { map.put(o.getName(), Objects.toString(o.getValue())); } diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/http/FilterTools.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/http/FilterTools.java index 08cabcfa39af56943111aefb2ae68b6a8fc9e538..e99ab43a6ebe4efa1477779e688003a3d98f071c 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/http/FilterTools.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/http/FilterTools.java @@ -5,6 +5,8 @@ import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.StringUtils; +import com.x.base.core.project.config.Config; + public class FilterTools { public static final String Access_Control_Allow_Origin = "Access-Control-Allow-Origin"; @@ -12,7 +14,7 @@ public class FilterTools { public static final String Access_Control_Allow_Methods = "Access-Control-Allow-Methods"; public static final String Access_Control_Allow_Methods_Value = "GET, POST, OPTIONS, PUT, DELETE, HEAD, TRACE"; public static final String Access_Control_Allow_Headers = "Access-Control-Allow-Headers"; - public static final String Access_Control_Allow_Headers_Value = "x-requested-with, x-request, x-token, c-token, Content-Type, Content-Length, x-cipher, x-client, x-debugger, Authorization, P-User-Id, P-Request-Id, P-Page-Id"; + public static final String Access_Control_Allow_Headers_Value = "x-requested-with, x-request, c-token, Content-Type, Content-Length, x-cipher, x-client, x-debugger, Authorization, P-User-Id, P-Request-Id, P-Page-Id"; public static final String Access_Control_Allow_Credentials = "Access-Control-Allow-Credentials"; public static final String Access_Control_Expose_Headers = "Access-Control-Expose-Headers"; public static final String Access_Control_Max_Age = "Access-Control-Max-Age"; @@ -22,9 +24,10 @@ public class FilterTools { String origin = request.getHeader(ORIGIN); response.addHeader(Access_Control_Allow_Origin, StringUtils.isBlank(origin) ? "*" : origin); response.addHeader(Access_Control_Allow_Methods, Access_Control_Allow_Methods_Value); - response.addHeader(Access_Control_Allow_Headers, Access_Control_Allow_Headers_Value); + response.addHeader(Access_Control_Allow_Headers, + Access_Control_Allow_Headers_Value + ", " + Config.person().getTokenName()); response.addHeader(Access_Control_Allow_Credentials, "true"); - response.setHeader(Access_Control_Expose_Headers, "x-token, c-token"); + response.setHeader(Access_Control_Expose_Headers, "c-token" + ", " + Config.person().getTokenName()); response.setHeader(Access_Control_Max_Age, Access_Control_Max_Age_Value); } diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/http/HttpToken.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/http/HttpToken.java index a5eb9cde345d65b965ebdb6b6a011d2972c39161..d64c4644c8025d0b232c5e3e7e7c9d660f594c71 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/http/HttpToken.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/http/HttpToken.java @@ -27,7 +27,7 @@ public class HttpToken { private static Logger logger = LoggerFactory.getLogger(HttpToken.class); - public static final String X_Token = "x-token"; + // public static final String X_Token = "x-token"; public static final String X_Authorization = "authorization"; public static final String X_Person = "x-person"; public static final String X_Client = "x-client"; @@ -99,7 +99,8 @@ public class HttpToken { try { // String cookie = X_Token + "=; path=/; domain=" + // this.domain(request) + "; max-age=0 - String cookie = X_Token + "=" + COOKIE_ANONYMOUS_VALUE + "; path=/; domain=" + this.domain(request) + String cookie = Config.person().getTokenName() + "=" + COOKIE_ANONYMOUS_VALUE + "; path=/; domain=" + + this.domain(request) + (BooleanUtils.isTrue(Config.person().getTokenCookieHttpOnly()) ? "; HttpOnly" : ""); response.setHeader(SET_COOKIE, cookie); } catch (Exception e) { @@ -129,10 +130,11 @@ public class HttpToken { private void setResponseToken(HttpServletRequest request, HttpServletResponse response, EffectivePerson effectivePerson) throws Exception { if (!StringUtils.isEmpty(effectivePerson.getToken())) { - String cookie = X_Token + "=" + effectivePerson.getToken() + "; path=/; domain=" + this.domain(request) + String cookie = Config.person().getTokenName() + "=" + effectivePerson.getToken() + "; path=/; domain=" + + this.domain(request) + (BooleanUtils.isTrue(Config.person().getTokenCookieHttpOnly()) ? "; HttpOnly" : ""); response.setHeader(SET_COOKIE, cookie); - response.setHeader(X_Token, effectivePerson.getToken()); + response.setHeader(Config.person().getTokenName(), effectivePerson.getToken()); } } @@ -148,11 +150,11 @@ public class HttpToken { public String getToken(HttpServletRequest request) throws Exception { String token = null; - token = URLTools.getQueryStringParameter(request.getQueryString(), X_Token); + token = URLTools.getQueryStringParameter(request.getQueryString(), Config.person().getTokenName()); if (StringUtils.isEmpty(token)) { if (null != request.getCookies()) { for (Cookie c : request.getCookies()) { - if (StringUtils.equals(X_Token, c.getName())) { + if (StringUtils.equals(Config.person().getTokenName(), c.getName())) { token = c.getValue(); break; } @@ -160,10 +162,10 @@ public class HttpToken { } } if (StringUtils.isEmpty(token)) { - token = request.getHeader(X_Token); + token = request.getHeader(Config.person().getTokenName()); } if (StringUtils.isEmpty(token)) { - //如果使用oauth bearer 通过此传递认证信息.需要进行判断,格式为 Bearer xxxxxxx + // 如果使用oauth bearer 通过此传递认证信息.需要进行判断,格式为 Bearer xxxxxxx String value = request.getHeader(X_Authorization); if (!StringUtils.contains(value, " ")) { token = value; diff --git a/o2server/x_console/src/main/java/com/x/server/console/action/ActionConfig.java b/o2server/x_console/src/main/java/com/x/server/console/action/ActionConfig.java index 97cb9945c0331d29c63d3821920a927ec7be63fa..0d04e891b792db36cb84e1b062274b3acf435a10 100644 --- a/o2server/x_console/src/main/java/com/x/server/console/action/ActionConfig.java +++ b/o2server/x_console/src/main/java/com/x/server/console/action/ActionConfig.java @@ -35,13 +35,13 @@ public class ActionConfig extends ActionBase { @SuppressWarnings("deprecation") private byte[] getZip() throws Exception { - String address =Config.url_x_program_center_jaxrs("config"); + String address = Config.url_x_program_center_jaxrs("config"); URL url = new URL(address); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setUseCaches(false); connection.setRequestProperty("Content-Type", HttpMediaType.APPLICATION_JSON_UTF_8); EffectivePerson effectivePerson = EffectivePerson.cipher(Config.token().getCipher()); - connection.setRequestProperty(HttpToken.X_Token, effectivePerson.getToken()); + connection.setRequestProperty(Config.person().getTokenName(), effectivePerson.getToken()); connection.setRequestMethod("GET"); connection.setDoOutput(false); connection.setDoInput(true); diff --git a/o2server/x_message_assemble_communicate/src/main/java/com/x/message/assemble/communicate/ws/collaboration/WsConfigurator.java b/o2server/x_message_assemble_communicate/src/main/java/com/x/message/assemble/communicate/ws/collaboration/WsConfigurator.java index 0ed71f1f39de174a781a06828a5aa1e7bbd99218..7220fc4e993dc4653a3b255fc754c71caa1e9a97 100644 --- a/o2server/x_message_assemble_communicate/src/main/java/com/x/message/assemble/communicate/ws/collaboration/WsConfigurator.java +++ b/o2server/x_message_assemble_communicate/src/main/java/com/x/message/assemble/communicate/ws/collaboration/WsConfigurator.java @@ -27,7 +27,7 @@ public class WsConfigurator extends ServerEndpointConfig.Configurator { private EffectivePerson getEffectivePerson(HandshakeRequest request) { try { - List list = request.getParameterMap().get(HttpToken.X_Token); + List list = request.getParameterMap().get(Config.person().getTokenName()); String token = null; if (ListTools.isNotEmpty(list)) { token = list.get(0); diff --git a/o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/processor/invoke/InvokeExecutor.java b/o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/processor/invoke/InvokeExecutor.java index 43edae9634304ad18737705cbb8300c8846eec0c..efca3e1331f3cf139b03f1ca5b8aa0fe94a7dc6d 100644 --- a/o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/processor/invoke/InvokeExecutor.java +++ b/o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/processor/invoke/InvokeExecutor.java @@ -9,6 +9,7 @@ import org.apache.commons.lang3.StringUtils; import com.x.base.core.project.bean.NameValuePair; import com.x.base.core.project.connection.CipherConnectionAction; +import com.x.base.core.project.connection.ConnectionAction; import com.x.base.core.project.connection.HttpConnection; import com.x.base.core.project.logger.Logger; import com.x.base.core.project.logger.LoggerFactory; @@ -59,7 +60,7 @@ public class InvokeExecutor { .toString(); } else { List heads = new ArrayList<>(); - heads.add(new NameValuePair(HttpConnection.Content_Type, jaxrsObject.getContentType())); + heads.add(new NameValuePair(ConnectionAction.CONTENT_TYPE, jaxrsObject.getContentType())); if (null != jaxrsObject.getHead()) { for (Entry entry : jaxrsObject.getHead().entrySet()) { heads.add(new NameValuePair(entry.getKey(), entry.getValue())); @@ -80,7 +81,7 @@ public class InvokeExecutor { .toString(); } else { List heads = new ArrayList<>(); - heads.add(new NameValuePair(HttpConnection.Content_Type, jaxrsObject.getContentType())); + heads.add(new NameValuePair(ConnectionAction.CONTENT_TYPE, jaxrsObject.getContentType())); if (null != jaxrsObject.getHead()) { for (Entry entry : jaxrsObject.getHead().entrySet()) { heads.add(new NameValuePair(entry.getKey(), entry.getValue())); @@ -100,7 +101,7 @@ public class InvokeExecutor { return CipherConnectionAction.get(true, jaxrsObject.getAddress()).getData().toString(); } else { List heads = new ArrayList<>(); - heads.add(new NameValuePair(HttpConnection.Content_Type, jaxrsObject.getContentType())); + heads.add(new NameValuePair(ConnectionAction.CONTENT_TYPE, jaxrsObject.getContentType())); if (null != jaxrsObject.getHead()) { for (Entry entry : jaxrsObject.getHead().entrySet()) { heads.add(new NameValuePair(entry.getKey(), entry.getValue())); @@ -120,7 +121,7 @@ public class InvokeExecutor { return CipherConnectionAction.delete(true, jaxrsObject.getAddress()).getData().toString(); } else { List heads = new ArrayList<>(); - heads.add(new NameValuePair(HttpConnection.Content_Type, jaxrsObject.getContentType())); + heads.add(new NameValuePair(ConnectionAction.CONTENT_TYPE, jaxrsObject.getContentType())); if (null != jaxrsObject.getHead()) { for (Entry entry : jaxrsObject.getHead().entrySet()) { heads.add(new NameValuePair(entry.getKey(), entry.getValue())); diff --git a/o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/processor/invoke/InvokeProcessor.java b/o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/processor/invoke/InvokeProcessor.java index 2694ef87ea1505f06e6a1785716f07ebb2053732..fdb99f5d21f2223139353cee51906b92ae573944 100644 --- a/o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/processor/invoke/InvokeProcessor.java +++ b/o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/processor/invoke/InvokeProcessor.java @@ -18,7 +18,7 @@ import com.x.base.core.container.EntityManagerContainer; import com.x.base.core.project.Application; import com.x.base.core.project.connection.ActionResponse; import com.x.base.core.project.connection.CipherConnectionAction; -import com.x.base.core.project.connection.HttpConnection; +import com.x.base.core.project.connection.ConnectionAction; import com.x.base.core.project.exception.RunningException; import com.x.base.core.project.http.ActionResult.Type; import com.x.base.core.project.logger.Logger; @@ -142,16 +142,16 @@ public class InvokeProcessor extends AbstractInvokeProcessor { Class clz = Class.forName("com.x.base.core.project." + invoke.getInternalProject()); String uri = this.jaxrsUrl(aeiObjects, invoke); switch (StringUtils.upperCase(invoke.getJaxrsMethod())) { - case HttpConnection.METHOD_POST: + case ConnectionAction.METHOD_POST: resp = jaxrsInternalPost(aeiObjects, invoke, clz, uri); break; - case HttpConnection.METHOD_PUT: + case ConnectionAction.METHOD_PUT: resp = jaxrsInternalPut(aeiObjects, invoke, clz, uri); break; - case HttpConnection.METHOD_GET: + case ConnectionAction.METHOD_GET: resp = jaxrsInternalGet(aeiObjects, invoke, clz, uri); break; - case HttpConnection.METHOD_DELETE: + case ConnectionAction.METHOD_DELETE: resp = jaxrsInternalDelete(aeiObjects, invoke, clz, uri); break; case "head": @@ -196,7 +196,7 @@ public class InvokeProcessor extends AbstractInvokeProcessor { jaxrsObject .setAddress(StringTools.JoinUrl(application.getUrlJaxrsRoot() + CipherConnectionAction.trim(uri))); jaxrsObject.setInternal(invoke.getInternal()); - jaxrsObject.setMethod(HttpConnection.METHOD_DELETE); + jaxrsObject.setMethod(ConnectionAction.METHOD_DELETE); jaxrsObject.setContentType(invoke.getJaxrsContentType()); ThisApplication.syncJaxrsInvokeQueue.send(jaxrsObject); } else { @@ -213,7 +213,7 @@ public class InvokeProcessor extends AbstractInvokeProcessor { jaxrsObject .setAddress(StringTools.JoinUrl(application.getUrlJaxrsRoot() + CipherConnectionAction.trim(uri))); jaxrsObject.setInternal(invoke.getInternal()); - jaxrsObject.setMethod(HttpConnection.METHOD_GET); + jaxrsObject.setMethod(ConnectionAction.METHOD_GET); jaxrsObject.setContentType(invoke.getJaxrsContentType()); ThisApplication.syncJaxrsInvokeQueue.send(jaxrsObject); } else { @@ -232,7 +232,7 @@ public class InvokeProcessor extends AbstractInvokeProcessor { .setAddress(StringTools.JoinUrl(application.getUrlJaxrsRoot() + CipherConnectionAction.trim(uri))); jaxrsObject.setBody(body); jaxrsObject.setInternal(invoke.getInternal()); - jaxrsObject.setMethod(HttpConnection.METHOD_PUT); + jaxrsObject.setMethod(ConnectionAction.METHOD_PUT); jaxrsObject.setContentType(invoke.getJaxrsContentType()); ThisApplication.syncJaxrsInvokeQueue.send(jaxrsObject); } else { @@ -251,7 +251,7 @@ public class InvokeProcessor extends AbstractInvokeProcessor { .setAddress(StringTools.JoinUrl(application.getUrlJaxrsRoot() + CipherConnectionAction.trim(uri))); jaxrsObject.setBody(body); jaxrsObject.setInternal(invoke.getInternal()); - jaxrsObject.setMethod(HttpConnection.METHOD_POST); + jaxrsObject.setMethod(ConnectionAction.METHOD_POST); jaxrsObject.setContentType(invoke.getJaxrsContentType()); ThisApplication.syncJaxrsInvokeQueue.send(jaxrsObject); } else { @@ -266,16 +266,16 @@ public class InvokeProcessor extends AbstractInvokeProcessor { JaxrsObject jaxrsObject = new JaxrsObject(); jaxrsObject.setHead(this.jaxrsEvalHead(aeiObjects, invoke)); switch (StringUtils.upperCase(invoke.getJaxrsMethod())) { - case HttpConnection.METHOD_POST: + case ConnectionAction.METHOD_POST: result = jaxrsExternalPost(aeiObjects, invoke, uri, jaxrsObject); break; - case HttpConnection.METHOD_PUT: + case ConnectionAction.METHOD_PUT: result = jaxrsExternalPut(aeiObjects, invoke, uri, jaxrsObject); break; - case HttpConnection.METHOD_GET: + case ConnectionAction.METHOD_GET: result = jaxrsExternalGet(aeiObjects, invoke, uri, jaxrsObject); break; - case HttpConnection.METHOD_DELETE: + case ConnectionAction.METHOD_DELETE: result = jaxrsExternalDelete(aeiObjects, invoke, uri, jaxrsObject); break; case "head": @@ -311,7 +311,7 @@ public class InvokeProcessor extends AbstractInvokeProcessor { private String jaxrsExternalDelete(AeiObjects aeiObjects, Invoke invoke, String address, JaxrsObject jaxrsObject) throws Exception { - jaxrsObject.setMethod(HttpConnection.METHOD_DELETE); + jaxrsObject.setMethod(ConnectionAction.METHOD_DELETE); jaxrsObject.setInternal(false); jaxrsObject.setAddress(address); jaxrsObject.setContentType(invoke.getJaxrsContentType()); @@ -326,7 +326,7 @@ public class InvokeProcessor extends AbstractInvokeProcessor { private String jaxrsExternalGet(AeiObjects aeiObjects, Invoke invoke, String address, JaxrsObject jaxrsObject) throws Exception { - jaxrsObject.setMethod(HttpConnection.METHOD_GET); + jaxrsObject.setMethod(ConnectionAction.METHOD_GET); jaxrsObject.setInternal(false); jaxrsObject.setAddress(address); jaxrsObject.setContentType(invoke.getJaxrsContentType()); @@ -342,7 +342,7 @@ public class InvokeProcessor extends AbstractInvokeProcessor { private String jaxrsExternalPut(AeiObjects aeiObjects, Invoke invoke, String address, JaxrsObject jaxrsObject) throws Exception { String body = this.jaxrsEvalBody(aeiObjects, invoke); - jaxrsObject.setMethod(HttpConnection.METHOD_PUT); + jaxrsObject.setMethod(ConnectionAction.METHOD_PUT); jaxrsObject.setInternal(false); jaxrsObject.setAddress(address); jaxrsObject.setBody(body); @@ -359,7 +359,7 @@ public class InvokeProcessor extends AbstractInvokeProcessor { private String jaxrsExternalPost(AeiObjects aeiObjects, Invoke invoke, String address, JaxrsObject jaxrsObject) throws Exception { String body = this.jaxrsEvalBody(aeiObjects, invoke); - jaxrsObject.setMethod(HttpConnection.METHOD_POST); + jaxrsObject.setMethod(ConnectionAction.METHOD_POST); jaxrsObject.setInternal(false); jaxrsObject.setAddress(address); jaxrsObject.setBody(body); diff --git a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/authentication/ActionWho.java b/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/authentication/ActionWho.java index 5eb2503acd9a02c5f12bfbdb8bbee86ff3432038..26b084a0b53db6624f9dfa34da8a62c54d6f07b7 100644 --- a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/authentication/ActionWho.java +++ b/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/authentication/ActionWho.java @@ -10,10 +10,10 @@ import com.x.base.core.project.Application; import com.x.base.core.project.Applications; import com.x.base.core.project.x_organization_assemble_authentication; import com.x.base.core.project.bean.NameValuePair; +import com.x.base.core.project.config.Config; import com.x.base.core.project.connection.HttpConnection; 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.program.center.ThisApplication; class ActionWho extends BaseAction { @@ -25,7 +25,7 @@ class ActionWho extends BaseAction { .randomWithWeight(x_organization_assemble_authentication.class.getName()); if (app != null) { List heads = new ArrayList<>(); - heads.add(new NameValuePair(HttpToken.X_Token, token)); + heads.add(new NameValuePair(Config.person().getTokenName(), token)); JsonElement jsonElement = HttpConnection.getAsObject( app.getUrlJaxrsRoot() + Applications.joinQueryUri("authentication"), heads, JsonElement.class); result.setData(jsonElement); diff --git a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/warnlog/ActionGetSystemLog.java b/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/warnlog/ActionGetSystemLog.java index 9e1c0c302fcdee2512548b1f3ba8cc2d031f3e66..cdb33fdc2c40a51cb6c57413d6dc1beafbf0f621 100644 --- a/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/warnlog/ActionGetSystemLog.java +++ b/o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/warnlog/ActionGetSystemLog.java @@ -1,5 +1,16 @@ package com.x.program.center.jaxrs.warnlog; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.net.Socket; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; + +import org.apache.commons.lang3.StringUtils; + import com.google.gson.reflect.TypeToken; import com.x.base.core.project.bean.NameValuePair; import com.x.base.core.project.cache.Cache.CacheCategory; @@ -12,17 +23,10 @@ import com.x.base.core.project.gson.GsonPropertyObject; import com.x.base.core.project.gson.XGsonBuilder; 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.logger.Logger; import com.x.base.core.project.logger.LoggerFactory; import com.x.base.core.project.tools.Crypto; import com.x.base.core.project.tools.ListTools; -import org.apache.commons.lang3.StringUtils; - -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.net.Socket; -import java.util.*; class ActionGetSystemLog extends BaseAction { @@ -33,31 +37,34 @@ class ActionGetSystemLog extends BaseAction { List woList = new ArrayList<>(); String key = effectivePerson.getDistinguishedName(); - if(key.indexOf("@") > -1){ + if (key.indexOf("@") > -1) { key = key.split("@")[1] + tag; } - if(Config.node().equals(Config.resource_node_centersPirmaryNode())){ + if (Config.node().equals(Config.resource_node_centersPirmaryNode())) { woList = getSystemLog(key); - }else{ - List headers = ListTools.toList(new NameValuePair(HttpToken.X_Token, effectivePerson.getToken())); - woList = ConnectionAction.get(Config.url_x_program_center_jaxrs("warnlog", "view", "system", "log", "tag", tag), headers).getDataAsList(Wo.class); + } else { + List headers = ListTools + .toList(new NameValuePair(Config.person().getTokenName(), effectivePerson.getToken())); + woList = ConnectionAction + .get(Config.url_x_program_center_jaxrs("warnlog", "view", "system", "log", "tag", tag), headers) + .getDataAsList(Wo.class); } result.setData(woList); return result; } - synchronized private List getSystemLog(String key) throws Exception{ + synchronized private List getSystemLog(String key) throws Exception { Nodes nodes = Config.nodes(); List allLogs = new ArrayList<>(); - for (String node : nodes.keySet()){ - if(nodes.get(node).getApplication().getEnable() || nodes.get(node).getCenter().getEnable()){ + for (String node : nodes.keySet()) { + if (nodes.get(node).getApplication().getEnable() || nodes.get(node).getCenter().getEnable()) { try (Socket socket = new Socket(node, nodes.get(node).nodeAgentPort())) { socket.setKeepAlive(true); socket.setSoTimeout(5000); try (DataOutputStream dos = new DataOutputStream(socket.getOutputStream()); - DataInputStream dis = new DataInputStream(socket.getInputStream())){ + DataInputStream dis = new DataInputStream(socket.getInputStream())) { Map commandObject = new HashMap<>(); commandObject.put("command", "readLog:readLog"); commandObject.put("credential", Crypto.rsaEncrypt("o2@", Config.publicKey())); @@ -77,19 +84,21 @@ class ActionGetSystemLog extends BaseAction { dos.writeLong(lastPoint); dos.flush(); - //logger.debug("socket dispatch getSystemLog to {}:{} lastPoint={}", node, nodes.get(node).nodeAgentPort(), lastPoint); + // logger.debug("socket dispatch getSystemLog to {}:{} lastPoint={}", node, + // nodes.get(node).nodeAgentPort(), lastPoint); String result = dis.readUTF(); - if(StringUtils.isNotEmpty(result) && result.startsWith("[")){ - List list = gson.fromJson(result, new TypeToken>(){}.getType()); + if (StringUtils.isNotEmpty(result) && result.startsWith("[")) { + List list = gson.fromJson(result, new TypeToken>() { + }.getType()); allLogs.addAll(list); long returnLastPoint = dis.readLong(); - if(clo==null){ + if (clo == null) { clo = new CacheLogObject(); clo.setUserToken(key); clo.setNode(node); clo.setLastPoint(returnLastPoint); - }else{ + } else { clo.setLastPoint(returnLastPoint); } CacheManager.put(cacheCategory, cacheKey, clo); @@ -97,7 +106,8 @@ class ActionGetSystemLog extends BaseAction { } } catch (Exception ex) { - logger.warn("socket dispatch getSystemLog to {}:{} error={}", node, nodes.get(node).nodeAgentPort(), ex.getMessage()); + logger.warn("socket dispatch getSystemLog to {}:{} error={}", node, nodes.get(node).nodeAgentPort(), + ex.getMessage()); } } }