Browse Source

REPORT-144167 取数数据中心适配自定义ssl证书

fbp/release
vito 2 months ago
parent
commit
304978287a
  1. 2
      designer-base/src/main/java/com/fr/design/data/tabledata/datacenter/DCTableDataPane.java
  2. 10
      designer-base/src/main/java/com/fr/design/jxbrowser/JxEngine.java
  3. 6
      designer-base/src/main/java/com/fr/design/jxbrowser/JxUIPane.java

2
designer-base/src/main/java/com/fr/design/data/tabledata/datacenter/DCTableDataPane.java

@ -31,7 +31,7 @@ import static com.fr.design.ui.ModernUIConstants.SCHEME_HEADER;
*/ */
public class DCTableDataPane extends AbstractTableDataPane<DCTableData> { public class DCTableDataPane extends AbstractTableDataPane<DCTableData> {
private static final JxEngine JX_ENGINE = JxEngine.newInstance(false); private static final JxEngine JX_ENGINE = JxEngine.newInstance(true);
private static final String DATA_CENTER = "dc"; private static final String DATA_CENTER = "dc";
private static final String DATA_CENTER_HELPER = "dcHelper"; private static final String DATA_CENTER_HELPER = "dcHelper";

10
designer-base/src/main/java/com/fr/design/jxbrowser/JxEngine.java

@ -51,7 +51,6 @@ public class JxEngine {
EngineOptions.Builder builder = EngineOptions EngineOptions.Builder builder = EngineOptions
.newBuilder(RenderingMode.HARDWARE_ACCELERATED) .newBuilder(RenderingMode.HARDWARE_ACCELERATED)
.addSwitch("--disable-google-traffic") .addSwitch("--disable-google-traffic")
.addSwitch("--disable-web-security")
.addScheme(Scheme.of(ModernUIConstants.EMB_TAG), .addScheme(Scheme.of(ModernUIConstants.EMB_TAG),
new NxInterceptRequestCallback(this::getComponent, this::getParameterMap)); new NxInterceptRequestCallback(this::getComponent, this::getParameterMap));
if (disableWebSecurity) { if (disableWebSecurity) {
@ -144,6 +143,15 @@ public class JxEngine {
return ENGINE.getValue(); return ENGINE.getValue();
} }
/**
* 是否禁用安全属性
* 对客户端来说安全属性可以忽略
*
* @return 是否禁用
*/
public boolean isDisableWebSecurity() {
return disableWebSecurity;
}
/** /**
* 添加XHR请求头 * 添加XHR请求头

6
designer-base/src/main/java/com/fr/design/jxbrowser/JxUIPane.java

@ -13,6 +13,7 @@ import com.fr.stable.collections.combination.Pair;
import com.fr.stable.os.OperatingSystem; import com.fr.stable.os.OperatingSystem;
import com.fr.web.struct.AssembleComponent; import com.fr.web.struct.AssembleComponent;
import com.teamdev.jxbrowser.browser.Browser; import com.teamdev.jxbrowser.browser.Browser;
import com.teamdev.jxbrowser.browser.callback.CertificateErrorCallback;
import com.teamdev.jxbrowser.browser.callback.InjectJsCallback; import com.teamdev.jxbrowser.browser.callback.InjectJsCallback;
import com.teamdev.jxbrowser.event.Observer; import com.teamdev.jxbrowser.event.Observer;
import com.teamdev.jxbrowser.frame.Frame; import com.teamdev.jxbrowser.frame.Frame;
@ -81,6 +82,11 @@ public class JxUIPane<T> extends BasicPane {
} }
initDebugIfNeeded(); initDebugIfNeeded();
browser = jxEngine.getEngine().newBrowser(); browser = jxEngine.getEngine().newBrowser();
if (jxEngine.isDisableWebSecurity()) {
// 忽略证书验证,兼容有些情况下自定义证书与实际域名不匹配的情况。
// 虽然不是个正确的方式,但真有这么用的还是兼容一下
browser.set(CertificateErrorCallback.class, (params, action) -> action.allow());
}
add(BrowserView.newInstance(browser), BorderLayout.CENTER); add(BrowserView.newInstance(browser), BorderLayout.CENTER);
} }

Loading…
Cancel
Save