Browse Source

REPORT-134241 【安全】FBP远程设计的相关接口均没有做权限校验,任意用户均可访问

fbp/release
Destiny.Lin 2 months ago
parent
commit
7edb2bd749
  1. 18
      designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java

18
designer-base/src/main/java/com/fr/design/actions/file/PreferencePane.java

@ -231,6 +231,7 @@ public class PreferencePane extends BasicPane {
private UICheckBox autoPushUpdateCheckBox; private UICheckBox autoPushUpdateCheckBox;
private UICheckBox imageCompressPanelCheckBox; private UICheckBox imageCompressPanelCheckBox;
private UICheckBox cloudAnalyticsDelayCheckBox; private UICheckBox cloudAnalyticsDelayCheckBox;
private UICheckBox useRemoteAuthControlCheckBox;
private UICheckBox vcsEnableCheckBox; private UICheckBox vcsEnableCheckBox;
private UICheckBox useVcsAutoSaveScheduleCheckBox; private UICheckBox useVcsAutoSaveScheduleCheckBox;
@ -319,7 +320,9 @@ public class PreferencePane extends BasicPane {
// 模板预览性能 // 模板预览性能
cell(createTplPreviewPane()), cell(createTplPreviewPane()),
// 设计器启动选项 // 设计器启动选项
cell(createDesignerStartupPane()) cell(createDesignerStartupPane()),
// 远程权限控制
cell(createRemoteAuthControlPane()).with(it -> it.setVisible(WorkContext.getCurrent().isRoot()))
).weight(1).getComponent(); ).weight(1).getComponent();
useUniverseDBMCheckbox = new UICheckBox(i18nText("Fine-Design_Basic_Use_Universe_Database_Manager")); useUniverseDBMCheckbox = new UICheckBox(i18nText("Fine-Design_Basic_Use_Universe_Database_Manager"));
JPanel adviceScrollPane = patchScroll(advancePane); JPanel adviceScrollPane = patchScroll(advancePane);
@ -354,6 +357,12 @@ public class PreferencePane extends BasicPane {
i18nText("Fine-Design_Startup_Option")); i18nText("Fine-Design_Startup_Option"));
} }
private Component createRemoteAuthControlPane() {
useRemoteAuthControlCheckBox = new UICheckBox(i18nText("Fine-Design_Use_Remote_Auth_Control"));
return FineUIUtils.wrapComponentWithTitle(column(10, cell(useRemoteAuthControlCheckBox)).getComponent(),
i18nText("Fine-Design_Use_Remote_Auth"));
}
private Component createTplPreviewPane() { private Component createTplPreviewPane() {
imageCompressPanelCheckBox = new UICheckBox(i18nText("Fine-Design_Image_Compress")); imageCompressPanelCheckBox = new UICheckBox(i18nText("Fine-Design_Image_Compress"));
return FineUIUtils.wrapComponentWithTitle(column(10, return FineUIUtils.wrapComponentWithTitle(column(10,
@ -966,6 +975,9 @@ public class PreferencePane extends BasicPane {
if (useOptimizedUPMCheckbox != null) { if (useOptimizedUPMCheckbox != null) {
useOptimizedUPMCheckbox.setSelected(true); useOptimizedUPMCheckbox.setSelected(true);
} }
if (useRemoteAuthControlCheckBox != null) {
useRemoteAuthControlCheckBox.setSelected(ServerPreferenceConfig.getInstance().getUseRemoteAuthControl());
}
useUniverseDBMCheckbox.setSelected(ServerPreferenceConfig.getInstance().isUseUniverseDBM()); useUniverseDBMCheckbox.setSelected(ServerPreferenceConfig.getInstance().isUseUniverseDBM());
@ -1001,6 +1013,7 @@ public class PreferencePane extends BasicPane {
this.cloudAnalyticsDelayCheckBox.setSelected(designerEnvManager.isCloudAnalyticsDelay()); this.cloudAnalyticsDelayCheckBox.setSelected(designerEnvManager.isCloudAnalyticsDelay());
this.startupPageEnabledCheckBox.setSelected(designerEnvManager.isStartupPageEnabled()); this.startupPageEnabledCheckBox.setSelected(designerEnvManager.isStartupPageEnabled());
this.useRemoteAuthControlCheckBox.setSelected(ServerPreferenceConfig.getInstance().getUseRemoteAuthControl());
} }
private int chooseCase(int sign) { private int chooseCase(int sign) {
@ -1136,6 +1149,9 @@ public class PreferencePane extends BasicPane {
if (useOptimizedUPMCheckbox != null) { if (useOptimizedUPMCheckbox != null) {
ServerPreferenceConfig.getInstance().setUseOptimizedUPM(useOptimizedUPMCheckbox.isSelected()); ServerPreferenceConfig.getInstance().setUseOptimizedUPM(useOptimizedUPMCheckbox.isSelected());
} }
if (useRemoteAuthControlCheckBox != null) {
ServerPreferenceConfig.getInstance().setUseRemoteAuthControl(useRemoteAuthControlCheckBox.isSelected());
}
ServerPreferenceConfig.getInstance().setUseUniverseDBM(useUniverseDBMCheckbox.isSelected()); ServerPreferenceConfig.getInstance().setUseUniverseDBM(useUniverseDBMCheckbox.isSelected());
} }

Loading…
Cancel
Save