diff options
| author | Alex Rudyy <orudyy@apache.org> | 2013-09-17 14:26:03 +0000 |
|---|---|---|
| committer | Alex Rudyy <orudyy@apache.org> | 2013-09-17 14:26:03 +0000 |
| commit | a5a183cd30706ddc235b89465014498755479e88 (patch) | |
| tree | ca41f9ed98f8383da2b1503e447453f8a67f0356 /qpid/java/broker-plugins/management-http/src/main | |
| parent | 72f20b39556fc0240f037e14f4847e1152ee24da (diff) | |
| download | qpid-python-a5a183cd30706ddc235b89465014498755479e88.tar.gz | |
QPID-5138: Disallow setting of preferneces provider for anonymous authentication provider
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1524061 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-plugins/management-http/src/main')
5 files changed, 51 insertions, 34 deletions
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js index 208a6f99c6..b5b4380a0d 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js @@ -90,7 +90,6 @@ define(["dojo/_base/xhr", event.stop(evt); that.addPreferencesProvider(); }); - updater.add( that.authProviderUpdater ); }}); }; @@ -168,9 +167,17 @@ define(["dojo/_base/xhr", that.details = new PrincipalDatabaseAuthenticationManager(node, that.authProviderData, controller); that.details.update(that.authProviderData); } - var preferencesProviderData = that.authProviderData.preferencesproviders? that.authProviderData.preferencesproviders[0]: null; - that.preferencesNode = query(".preferencesProviderDetails", node)[0]; - that.updatePreferencesProvider(preferencesProviderData); + if (that.authProviderData.type == "Anonymous") + { + var authenticationProviderPanel = registry.byNode( query(".preferencesPanel", node)[0]); + domStyle.set(authenticationProviderPanel.domNode, "display","none"); + } + else + { + var preferencesProviderData = that.authProviderData.preferencesproviders? that.authProviderData.preferencesproviders[0]: null; + that.preferencesNode = query(".preferencesProviderDetails", node)[0]; + that.updatePreferencesProvider(preferencesProviderData); + } }); } @@ -229,16 +236,20 @@ define(["dojo/_base/xhr", } } } - try + var preferencesProviderData = that.authProviderData.preferencesproviders? that.authProviderData.preferencesproviders[0]: null; + if (preferencesProviderData) { - that.updatePreferencesProvider(that.authProviderData.preferencesproviders? that.authProviderData.preferencesproviders[0]: null); - } - catch(e) - { - if (console) - { - console.error(e); - } + try + { + that.updatePreferencesProvider(preferencesProviderData); + } + catch(e) + { + if (console) + { + console.error(e); + } + } } }); diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Preferences.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Preferences.js index 6d587b37d1..b83c1e477b 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Preferences.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Preferences.js @@ -118,22 +118,25 @@ function (declare, xhr, event, dom, domConstruct, parser, query, json, entities, xhr.get({ url: "rest/preferences", sync: true, - handleAs: "json" - }).then( - function(data) { - for(var preference in data) - { - if (that.hasOwnProperty(preference)) - { - var value = data[preference]; - if (typeof data[preference] == "string") - { - value = entities.encode(String(value)) - } - that[preference].set("value", value); - } - } - that.preferencesDialog.show(); + handleAs: "json", + load: function(data) { + for(var preference in data) + { + if (that.hasOwnProperty(preference)) + { + var value = data[preference]; + if (typeof data[preference] == "string") + { + value = entities.encode(String(value)) + } + that[preference].set("value", value); + } + } + that.preferencesDialog.show(); + }, + error: function(error){ + alert("Cannot load user preferences : " + error); + } }); }, diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js index 4f4b22a784..3737e41da4 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js @@ -164,7 +164,7 @@ define(["dojo/_base/xhr", if(this.success === true) { registry.byId("addAuthenticationProvider").hide(); - if (dojo.byId("formAddAuthenticationProvider.id").value == "") + if (newAuthenticationManager.type != "Anonymous" && dojo.byId("formAddAuthenticationProvider.id").value == "") { addPreferencesProvider.show(newAuthenticationManager.name); } diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPreferencesProvider.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPreferencesProvider.js index 158a5f8fa2..818dc32366 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPreferencesProvider.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPreferencesProvider.js @@ -33,6 +33,7 @@ define(["dojo/_base/xhr", "dojo/_base/connect", "dojo/dom-style", "dojo/string", + "dojox/html/entities", "dojox/validate/us", "dojox/validate/web", "dijit/Dialog", @@ -46,7 +47,7 @@ define(["dojo/_base/xhr", "dojox/form/CheckedMultiSelect", "dojox/layout/TableContainer", "dojo/domReady!"], - function (xhr, dom, construct, query, win, registry, parser, array, event, json, Memory, FilteringSelect, connect, domStyle, string) { + function (xhr, dom, construct, query, win, registry, parser, array, event, json, Memory, FilteringSelect, connect, domStyle, string, entities) { var addPreferencesProvider = {}; @@ -167,6 +168,7 @@ define(["dojo/_base/xhr", this.preferencesProviderTypeChooser.set("value", null); } var dialog = registry.byId("addPreferencesProvider"); + dialog.set("title", (providerName ? "Edit preference provider '" + entities.encode(String(providerName)) + "' " : "Add preferences provider ") + " for authentication provider '" + entities.encode(String(authenticationProviderName)) + "' ") if (providerName) { xhr.get({ @@ -178,7 +180,7 @@ define(["dojo/_base/xhr", var provider = data[0]; var providerType = provider.type; that.data = provider; - nameWidget.set("value", provider.name); + nameWidget.set("value", entities.encode(String(provider.name))); nameWidget.set("disabled", true); that.preferencesProviderTypeChooser.set("value", providerType); that.preferencesProviderTypeChooser.set("disabled", true); diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/preferences/filesystempreferences/add.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/preferences/filesystempreferences/add.js index 0d9542ca39..80b50fbbb8 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/preferences/filesystempreferences/add.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/preferences/filesystempreferences/add.js @@ -28,9 +28,10 @@ define(["dojo/_base/xhr", "dojo/_base/event", "dojo/_base/json", "dojo/string", + "dojox/html/entities", "dojo/text!../../../../../authenticationprovider/preferences/filesystempreferences/add.html", "dojo/domReady!"], - function (xhr, dom, domConstruct, win, registry, parser, array, event, json, string, template) { + function (xhr, dom, domConstruct, win, registry, parser, array, event, json, string, entities, template) { return { show: function(node, data) { dojo.forEach(dijit.findWidgets(node), function(w) { @@ -41,7 +42,7 @@ define(["dojo/_base/xhr", var pathWidget = registry.byId("preferencesProvider.path") if (data) { - pathWidget.set("value", data["path"]); + pathWidget.set("value", entities.encode(String(data["path"]))); } } }; |
