You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2012/11/28 19:57:26 UTC

svn commit: r1414863 - in /qpid/branches/0.20/qpid/java/broker-plugins/management-http: ./ src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslServlet.java src/main/java/resources/js/qpid/authorization/sasl.js

Author: robbie
Date: Wed Nov 28 18:57:26 2012
New Revision: 1414863

URL: http://svn.apache.org/viewvc?rev=1414863&view=rev
Log:
QPID-4475: enable the web management UI support the PLAIN mechanism for SASL login

merge from trunk r1414256

Modified:
    qpid/branches/0.20/qpid/java/broker-plugins/management-http/   (props changed)
    qpid/branches/0.20/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslServlet.java
    qpid/branches/0.20/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/authorization/sasl.js

Propchange: qpid/branches/0.20/qpid/java/broker-plugins/management-http/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Wed Nov 28 18:57:26 2012
@@ -0,0 +1,7 @@
+/qpid/branches/0.5.x-dev/broker-plugins/management-http:886720-886722
+/qpid/branches/0.5.x-dev/qpid/java/broker-plugins/management-http:886720-886722,887145,892761,894875,916304,916325,930288,931179
+/qpid/branches/java-broker-0-10/qpid/java/broker-plugins/management-http:795950-829653
+/qpid/branches/java-network-refactor/qpid/java/broker-plugins/management-http:805429-821809
+/qpid/branches/qpid-2935/qpid/java/broker-plugins/management-http:1061302-1072333
+/qpid/trunk/qpid/broker-plugins/management-http:796646-796653
+/qpid/trunk/qpid/java/broker-plugins/management-http:1412359,1414256

Modified: qpid/branches/0.20/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslServlet.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.20/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslServlet.java?rev=1414863&r1=1414862&r2=1414863&view=diff
==============================================================================
--- qpid/branches/0.20/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslServlet.java (original)
+++ qpid/branches/0.20/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslServlet.java Wed Nov 28 18:57:26 2012
@@ -146,6 +146,10 @@ public class SaslServlet extends Abstrac
             {
                 if(id == null)
                 {
+                    if(LOGGER.isDebugEnabled())
+                    {
+                        LOGGER.debug("Creating SaslServer for mechanism: " + mechanism);
+                    }
                     SaslServer saslServer = subjectCreator.createSaslServer(mechanism, request.getServerName(), null/*TODO*/);
                     evaluateSaslResponse(request, response, session, saslResponse, saslServer, subjectCreator);
                 }

Modified: qpid/branches/0.20/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/authorization/sasl.js
URL: http://svn.apache.org/viewvc/qpid/branches/0.20/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/authorization/sasl.js?rev=1414863&r1=1414862&r2=1414863&view=diff
==============================================================================
--- qpid/branches/0.20/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/authorization/sasl.js (original)
+++ qpid/branches/0.20/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/authorization/sasl.js Wed Nov 28 18:57:26 2012
@@ -152,10 +152,45 @@ var saslCramMD5 = function saslCramMD5(u
             });
 };
 
+var containsMechanism = function containsMechanism(mechanisms, mech)
+{
+    for (var i = 0; i < mechanisms.length; i++) {
+        if (mechanisms[i] == mech) {
+            return true;
+        }
+    }
+
+    return false;
+};
+
 var doAuthenticate = function doAuthenticate()
 {
-    saslCramMD5(dojo.byId("username").value, dojo.byId("pass").value);
-    updateAuthentication();
+    dojo.xhrGet({
+        // The URL of the request
+        url: "rest/sasl",
+        handleAs: "json"
+    }).then(function(data)
+            {
+                var mechMap = data.mechanisms;
+
+                if (containsMechanism(mechMap, "CRAM-MD5"))
+                {
+                    saslCramMD5(dojo.byId("username").value, dojo.byId("pass").value);
+                    updateAuthentication();
+                }
+                else if (containsMechanism(mechMap, "PLAIN"))
+                {
+                    saslPlain(dojo.byId("username").value, dojo.byId("pass").value);
+                    updateAuthentication();
+                }
+                else
+                {
+                    alert("No supported SASL mechanism offered: " + mechMap);
+                }
+            }
+        );
+
+
 };
 
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org