You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by pm...@apache.org on 2013/08/02 22:51:09 UTC
svn commit: r1509855 -
/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/KerberosManager.java
Author: pmouawad
Date: Fri Aug 2 20:51:09 2013
New Revision: 1509855
URL: http://svn.apache.org/r1509855
Log:
Bug 53480 - Add Kerberos support to Http Sampler (HttpClient4)
Make jaas application configuration and default to JMeter
Bugzilla Id: 53480
Modified:
jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/KerberosManager.java
Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/KerberosManager.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/KerberosManager.java?rev=1509855&r1=1509854&r2=1509855&view=diff
==============================================================================
--- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/KerberosManager.java (original)
+++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/KerberosManager.java Fri Aug 2 20:51:09 2013
@@ -36,6 +36,7 @@ import javax.security.auth.callback.Unsu
import javax.security.auth.login.LoginContext;
import javax.security.auth.login.LoginException;
+import org.apache.jmeter.util.JMeterUtils;
import org.apache.jorphan.logging.LoggingManager;
import org.apache.log.Logger;
@@ -49,6 +50,7 @@ class KerberosManager implements Seriali
private static final Logger log = LoggingManager.getLoggerForClass();
+ private static final String JAAS_APPLICATION = JMeterUtils.getPropDefault("kerberos_jaas_application", "JMeter"); //$NON-NLS-1$ $NON-NLS-2$
private ConcurrentMap<String, Future<Subject>> subjects
= new ConcurrentHashMap<String, Future<Subject>>();
@@ -67,7 +69,7 @@ class KerberosManager implements Seriali
public Subject call() throws Exception {
LoginContext loginCtx;
try {
- loginCtx = new LoginContext("Client",
+ loginCtx = new LoginContext(JAAS_APPLICATION,
new LoginCallbackHandler(username, password));
loginCtx.login();
return loginCtx.getSubject();
@@ -79,6 +81,9 @@ class KerberosManager implements Seriali
};
FutureTask<Subject> task = new FutureTask<Subject>(callable);
+ if(log.isDebugEnabled()) {
+ log.debug("Subject cached:"+subjects.keySet() +" before:"+username);
+ }
Future<Subject> subjectFuture = subjects.putIfAbsent(username, task);
if (subjectFuture == null) {
subjectFuture = task;
@@ -118,22 +123,22 @@ class KerberosManager implements Seriali
pc.setPassword(password.toCharArray());
} else {
throw new UnsupportedCallbackException( callback,
- "Unrecognized Callback");
+ "Unrecognized Callback"); //$NON-NLS-1$
}
}
}
}
public String getKrb5Conf() {
- return System.getProperty("java.security.krb5.conf");
+ return System.getProperty("java.security.krb5.conf"); //$NON-NLS-1$
}
public boolean getKrb5Debug() {
- return Boolean.valueOf(System.getProperty("java.security.krb5.debug", "False"));
+ return Boolean.valueOf(System.getProperty("java.security.krb5.debug", "False")); //$NON-NLS-1$ $NON-NLS-2$
}
public String getJaasConf() {
- return System.getProperty("java.security.auth.login.config");
+ return System.getProperty("java.security.auth.login.config"); //$NON-NLS-1$
}
@Override