提交 504efb5b 编写于 作者: S Serge Rider

#3 PG SSL

上级 6bda4bd3
...@@ -38,6 +38,7 @@ public class PostgreConstants { ...@@ -38,6 +38,7 @@ public class PostgreConstants {
public static final String PROP_SHOW_NON_DEFAULT_DB = DBConstants.INTERNAL_PROP_PREFIX + "show-non-default-db@"; public static final String PROP_SHOW_NON_DEFAULT_DB = DBConstants.INTERNAL_PROP_PREFIX + "show-non-default-db@";
public static final String PROP_USE_SSL = DBConstants.INTERNAL_PROP_PREFIX + "ssl@"; public static final String PROP_USE_SSL = DBConstants.INTERNAL_PROP_PREFIX + "ssl@";
public static final String PROP_SSL_NON_VALIDATING = DBConstants.INTERNAL_PROP_PREFIX + "ssl-non-validating@";
public static final String PROP_SSL_CERT = DBConstants.INTERNAL_PROP_PREFIX + "ssl-cert@"; public static final String PROP_SSL_CERT = DBConstants.INTERNAL_PROP_PREFIX + "ssl-cert@";
public static final DBSEntityType ENTITY_TYPE_SEQUENCE = new DBSEntityType("pg_sequence", "Sequence", DBIcon.TREE_SEQUENCE, true); public static final DBSEntityType ENTITY_TYPE_SEQUENCE = new DBSEntityType("pg_sequence", "Sequence", DBIcon.TREE_SEQUENCE, true);
......
...@@ -79,6 +79,12 @@ public class PostgreDataSourceProvider extends JDBCDataSourceProvider { ...@@ -79,6 +79,12 @@ public class PostgreDataSourceProvider extends JDBCDataSourceProvider {
if (!CommonUtils.isEmpty(connectionInfo.getDatabaseName())) { if (!CommonUtils.isEmpty(connectionInfo.getDatabaseName())) {
url.append(connectionInfo.getDatabaseName()); url.append(connectionInfo.getDatabaseName());
} }
if (CommonUtils.toBoolean(connectionInfo.getProperty(PostgreConstants.PROP_USE_SSL))) {
url.append("?ssl=true");
if (CommonUtils.toBoolean(connectionInfo.getProperty(PostgreConstants.PROP_SSL_NON_VALIDATING))) {
url.append("&sslfactory=org.postgresql.ssl.NonValidatingFactory");
}
}
return url.toString(); return url.toString();
} }
......
...@@ -52,6 +52,7 @@ public class PostgreConnectionPage extends ConnectionPageAbstract implements ICo ...@@ -52,6 +52,7 @@ public class PostgreConnectionPage extends ConnectionPageAbstract implements ICo
private Text passwordText; private Text passwordText;
private ClientHomesSelector homesSelector; private ClientHomesSelector homesSelector;
private Button useSslButton; private Button useSslButton;
private Button sslNonValidating;
private Text sslCertText; private Text sslCertText;
private Button hideNonDefault; private Button hideNonDefault;
private boolean activated = false; private boolean activated = false;
...@@ -149,7 +150,7 @@ public class PostgreConnectionPage extends ConnectionPageAbstract implements ICo ...@@ -149,7 +150,7 @@ public class PostgreConnectionPage extends ConnectionPageAbstract implements ICo
{ {
Group secureGroup = new Group(addrGroup, SWT.NONE); Group secureGroup = new Group(addrGroup, SWT.NONE);
secureGroup.setText("Security"); secureGroup.setText("Settings");
gd = new GridData(GridData.FILL_HORIZONTAL); gd = new GridData(GridData.FILL_HORIZONTAL);
gd.horizontalSpan = 4; gd.horizontalSpan = 4;
secureGroup.setLayoutData(gd); secureGroup.setLayoutData(gd);
...@@ -160,7 +161,7 @@ public class PostgreConnectionPage extends ConnectionPageAbstract implements ICo ...@@ -160,7 +161,7 @@ public class PostgreConnectionPage extends ConnectionPageAbstract implements ICo
{ {
Group secureGroup = new Group(addrGroup, SWT.NONE); Group secureGroup = new Group(addrGroup, SWT.NONE);
secureGroup.setText("Options"); secureGroup.setText("SSL");
gd = new GridData(GridData.FILL_HORIZONTAL); gd = new GridData(GridData.FILL_HORIZONTAL);
gd.horizontalSpan = 4; gd.horizontalSpan = 4;
secureGroup.setLayoutData(gd); secureGroup.setLayoutData(gd);
...@@ -175,6 +176,7 @@ public class PostgreConnectionPage extends ConnectionPageAbstract implements ICo ...@@ -175,6 +176,7 @@ public class PostgreConnectionPage extends ConnectionPageAbstract implements ICo
} }
} }
}); });
sslNonValidating = UIUtils.createLabelCheckbox(secureGroup, "Do not validate certificate", true);
//sslCertText = UIUtils.createLabelText(secureGroup, "Certificate Path", ""); //sslCertText = UIUtils.createLabelText(secureGroup, "Certificate Path", "");
} }
...@@ -228,6 +230,7 @@ public class PostgreConnectionPage extends ConnectionPageAbstract implements ICo ...@@ -228,6 +230,7 @@ public class PostgreConnectionPage extends ConnectionPageAbstract implements ICo
final boolean useSSL = CommonUtils.toBoolean(connectionInfo.getProperty(PostgreConstants.PROP_USE_SSL)); final boolean useSSL = CommonUtils.toBoolean(connectionInfo.getProperty(PostgreConstants.PROP_USE_SSL));
useSslButton.setSelection(useSSL); useSslButton.setSelection(useSSL);
sslNonValidating.setSelection(CommonUtils.toBoolean(connectionInfo.getProperty(PostgreConstants.PROP_SSL_NON_VALIDATING)));
if (sslCertText != null) { if (sslCertText != null) {
sslCertText.setText(CommonUtils.toString(connectionInfo.getProperty(PostgreConstants.PROP_SSL_CERT))); sslCertText.setText(CommonUtils.toString(connectionInfo.getProperty(PostgreConstants.PROP_SSL_CERT)));
sslCertText.setEnabled(useSSL); sslCertText.setEnabled(useSSL);
...@@ -263,6 +266,7 @@ public class PostgreConnectionPage extends ConnectionPageAbstract implements ICo ...@@ -263,6 +266,7 @@ public class PostgreConnectionPage extends ConnectionPageAbstract implements ICo
} }
connectionInfo.setProperty(PostgreConstants.PROP_USE_SSL, useSslButton.getSelection()); connectionInfo.setProperty(PostgreConstants.PROP_USE_SSL, useSslButton.getSelection());
connectionInfo.setProperty(PostgreConstants.PROP_SSL_NON_VALIDATING, sslNonValidating.getSelection());
connectionInfo.setProperty(PostgreConstants.PROP_SHOW_NON_DEFAULT_DB, hideNonDefault.getSelection()); connectionInfo.setProperty(PostgreConstants.PROP_SHOW_NON_DEFAULT_DB, hideNonDefault.getSelection());
super.saveSettings(dataSource); super.saveSettings(dataSource);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册