Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 88B98200AC8 for ; Tue, 7 Jun 2016 13:15:22 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 874C9160A57; Tue, 7 Jun 2016 11:15:22 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 587BA160A35 for ; Tue, 7 Jun 2016 13:15:21 +0200 (CEST) Received: (qmail 7804 invoked by uid 500); 7 Jun 2016 11:15:20 -0000 Mailing-List: contact commits-help@qpid.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@qpid.apache.org Delivered-To: mailing list commits@qpid.apache.org Received: (qmail 7795 invoked by uid 99); 7 Jun 2016 11:15:20 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 07 Jun 2016 11:15:20 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 1803EC0ACB for ; Tue, 7 Jun 2016 11:15:20 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.374 X-Spam-Level: X-Spam-Status: No, score=0.374 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RP_MATCHES_RCVD=-1.426] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id PWedZSM-rIk9 for ; Tue, 7 Jun 2016 11:15:18 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTP id 680B95F1E5 for ; Tue, 7 Jun 2016 11:15:18 +0000 (UTC) Received: from svn01-us-west.apache.org (svn.apache.org [10.41.0.6]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 75643E00E7 for ; Tue, 7 Jun 2016 11:15:17 +0000 (UTC) Received: from svn01-us-west.apache.org (localhost [127.0.0.1]) by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id 1CFC53A0287 for ; Tue, 7 Jun 2016 11:15:17 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1747192 - in /qpid/java/trunk: broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ broker-plugins/management-http/src/main/java/resources/authenticationprovider/simpleldap/ broker-plugins/management-http/src/main/java/r... Date: Tue, 07 Jun 2016 11:15:16 -0000 To: commits@qpid.apache.org From: lquack@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20160607111517.1CFC53A0287@svn01-us-west.apache.org> archived-at: Tue, 07 Jun 2016 11:15:22 -0000 Author: lquack Date: Tue Jun 7 11:15:16 2016 New Revision: 1747192 URL: http://svn.apache.org/viewvc?rev=1747192&view=rev Log: QPID-7116: [Java Broker, WMC] Improve UI for SimpleLDAP authProvider regarding group information Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/SimpleLDAPAuthenticationManagerImpl.java qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/authenticationprovider/simpleldap/add.html qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/css/common.css qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/simpleldap/add.js Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/SimpleLDAPAuthenticationManagerImpl.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/SimpleLDAPAuthenticationManagerImpl.java?rev=1747192&r1=1747191&r2=1747192&view=diff ============================================================================== --- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/SimpleLDAPAuthenticationManagerImpl.java (original) +++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/SimpleLDAPAuthenticationManagerImpl.java Tue Jun 7 11:15:16 2016 @@ -320,14 +320,17 @@ public class SimpleLDAPAuthenticationMan @Override public AuthenticationResult authenticate(String username, String password) { + String nameFromId; try { - return doLDAPNameAuthentication(getNameFromId(username), password); + nameFromId = getNameFromId(username); } catch (NamingException e) { + _logger.warn("Retrieving LDAP name for user '{}' resulted in error.", username, e); return new AuthenticationResult(AuthenticationResult.AuthenticationStatus.ERROR, e); } + return doLDAPNameAuthentication(nameFromId, password); } private AuthenticationResult doLDAPNameAuthentication(String name, String password) @@ -372,6 +375,7 @@ public class SimpleLDAPAuthenticationMan catch (NamingException e) { //Some other failure + _logger.warn("LDAP authentication attempt for username '{}' resulted in error.", name, e); return new AuthenticationResult(AuthenticationResult.AuthenticationStatus.ERROR, e); } finally Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/authenticationprovider/simpleldap/add.html URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/authenticationprovider/simpleldap/add.html?rev=1747192&r1=1747191&r2=1747192&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/authenticationprovider/simpleldap/add.html (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/authenticationprovider/simpleldap/add.html Tue Jun 7 11:15:16 2016 @@ -141,67 +141,95 @@
- Group Search + Additional Group Information
There are two common ways of representing group membership in LDAP.
- User entries can reference their groups or group entries can reference their members.
- To use the former specify group attribute name.
- To use the latter specify search context and filter.
- A combination of both approaches can be used. -
-
-
Attribute name:
-
- +
    +
  • + User entries can hold membership information as attribute.
    + To use this simply specify the name of the attrribute that holds
    + the group information. +
  • +
  • + Group entries can hold a list of their members as attribute.
    + You can specify a search context and filter to find all groups
    + that the user should be considered a member of. Typically this
    + involves filtering groups by looking for the user's DN on a
    + group attribute. +
  • +
+
+
+
+ +
-
- -
-
Search context:
-
- -
-
-
-
Search filter:
-
- +
+ + +
+
Attribute name:
+
+ +
+
-
+
+ + +
+
+
Search context:
+
+ +
+
+
+
Search filter:
+
+ +
+
-
-
Subtree search scope:
-
- +
+
Subtree search scope:
+
+ +
+
+
+
+
-
-
+
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/css/common.css URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/css/common.css?rev=1747192&r1=1747191&r2=1747192&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/css/common.css (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/css/common.css Tue Jun 7 11:15:16 2016 @@ -503,3 +503,9 @@ div .messages { .virtualHostConnections .field-bytesInRate { width: 10% } .virtualHostConnections .field-msgOutRate { width: 10% } .virtualHostConnections .field-bytesOutRate { width: 10% } + +.radioButtonIndent { + padding-left: 20px; + padding-top: 5px; + padding-bottom: 5px; +} Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js?rev=1747192&r1=1747191&r2=1747192&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js Tue Jun 7 11:15:16 2016 @@ -191,6 +191,10 @@ define(["dojo/dom", { var authenticationProviderData = util.getFormWidgetValues(this.authenticationProviderForm, this.initialData); + if (this.typeUI && this.typeUI._preSubmit) + { + this.typeUI._preSubmit(authenticationProviderData); + } var context = this.context.get("value"); if (context && (!this.initialData || !util.equals(context, this.initialData.context))) { @@ -297,6 +301,7 @@ define(["dojo/dom", metadata: that.management.metadata }); util.applyMetadataToWidgets(typeFieldsContainer, category, type, that.management.metadata); + that.typeUI = typeUI; } catch (e) { Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/simpleldap/add.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/simpleldap/add.js?rev=1747192&r1=1747191&r2=1747192&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/simpleldap/add.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/simpleldap/add.js Tue Jun 7 11:15:16 2016 @@ -22,6 +22,7 @@ define(["dojo/query", "dijit/registry", "qpid/common/util", "dojo/store/Memory", + "dijit/form/RadioButton", "dijit/form/FilteringSelect", "dijit/form/ValidationTextBox", "dijit/form/CheckBox"], function (query, registry, util, Memory) @@ -38,6 +39,40 @@ define(["dojo/query", _postParse: function (data) { var that = this; + + this.groupInfoAttributeName = registry.byId('ldapGroupInfoRadioButtonAttributeContentAttrName'); + this.groupInfoSearchContext = registry.byId('ldapGroupInfoRadioButtonQueryContentSearchContext'); + this.groupInfoSearchFilter = registry.byId('ldapGroupInfoRadioButtonQueryContentSearchFilter'); + this.groupInfoSubtreeSearch = registry.byId('ldapGroupInfoRadioButtonQueryContentSubtreeSearch'); + + registry.byId("ldapGroupInfoRadioButtonNone").on("change", function(isChecked){ + if(isChecked){ + that.groupInfoAttributeName.set('disabled', true); + + that.groupInfoSearchContext.set('disabled', true); + that.groupInfoSearchFilter.set('disabled', true); + that.groupInfoSubtreeSearch.set('disabled', true); + } + }, true); + registry.byId("ldapGroupInfoRadioButtonAttribute").on("change", function(isChecked){ + if(isChecked){ + that.groupInfoAttributeName.set('disabled', false); + + that.groupInfoSearchContext.set('disabled', true); + that.groupInfoSearchFilter.set('disabled', true); + that.groupInfoSubtreeSearch.set('disabled', true); + } + }, true); + registry.byId("ldapGroupInfoRadioButtonQuery").on("change", function(isChecked){ + if(isChecked){ + that.groupInfoAttributeName.set('disabled', true); + + that.groupInfoSearchContext.set('disabled', false); + that.groupInfoSearchFilter.set('disabled', false); + that.groupInfoSubtreeSearch.set('disabled', false); + } + }, true); + var obj = { type: "truststore", parent: {type: "broker"} @@ -49,10 +84,44 @@ define(["dojo/query", if (data.data) { that._initFields(data.data, data.containerNode, data.parent.management.metadata); + if (data.data.groupAttributeName) + { + registry.byId("ldapGroupInfoRadioButtonAttribute").set('checked', true); + } + else if (data.data.groupSearchFilter || data.data.groupSearchContext) + { + registry.byId("ldapGroupInfoRadioButtonQuery").set('checked', true); + } } }, util.xhrErrorHandler); + }, + _preSubmit: function(formData) + { + if ("none" === formData.groupInfo) + { + formData.groupAttributeName = ""; + + formData.groupSearchContext = ""; + formData.groupSearchFilter = ""; + formData.groupSubtreeSearchScope = false; + } + else if ("attribute" === formData.groupInfo) + { + formData.groupSearchContext = ""; + formData.groupSearchFilter = ""; + formData.groupSubtreeSearchScope = false; + } + else if ("query" === formData.groupInfo) + { + formData.groupAttributeName = ""; + } + else + { + console.error("Unexpected value of 'groupInfo': " + formData.groupInfo); + } }, + _initTrustStores: function (trustStores, containerNode) { var data = []; --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org For additional commands, e-mail: commits-help@qpid.apache.org