You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by kt...@apache.org on 2013/04/18 03:34:37 UTC

svn commit: r1469120 [2/2] - in /accumulo/trunk: ./ assemble/ conf/examples/1GB/native-standalone/ conf/examples/1GB/standalone/ conf/examples/2GB/native-standalone/ conf/examples/2GB/standalone/ conf/examples/3GB/native-standalone/ conf/examples/3GB/s...

Modified: accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxySecurityOperations.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxySecurityOperations.java?rev=1469120&r1=1469119&r2=1469120&view=diff
==============================================================================
--- accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxySecurityOperations.java (original)
+++ accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxySecurityOperations.java Thu Apr 18 01:34:36 2013
@@ -27,6 +27,7 @@ import java.util.Map;
 import java.util.Properties;
 import java.util.TreeMap;
 
+import org.apache.accumulo.core.client.security.tokens.PasswordToken;
 import org.apache.accumulo.core.util.ByteBufferUtil;
 import org.apache.accumulo.proxy.thrift.SystemPermission;
 import org.apache.accumulo.proxy.thrift.TablePermission;
@@ -55,6 +56,7 @@ public class TestProxySecurityOperations
   public static void setup() throws Exception {
     Properties prop = new Properties();
     prop.setProperty("org.apache.accumulo.proxy.ProxyServer.useMockInstance", "true");
+    prop.put("org.apache.accumulo.proxy.ProxyServer.tokenClass", PasswordToken.class.getName());
     
     proxy = Proxy.createProxyServer(Class.forName("org.apache.accumulo.proxy.thrift.AccumuloProxy"), Class.forName("org.apache.accumulo.proxy.ProxyServer"),
         port, TCompactProtocol.Factory.class, prop);

Modified: accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxyTableOperations.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxyTableOperations.java?rev=1469120&r1=1469119&r2=1469120&view=diff
==============================================================================
--- accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxyTableOperations.java (original)
+++ accumulo/trunk/proxy/src/test/java/org/apache/accumulo/proxy/TestProxyTableOperations.java Thu Apr 18 01:34:36 2013
@@ -31,6 +31,7 @@ import java.util.Properties;
 import java.util.Set;
 import java.util.TreeMap;
 
+import org.apache.accumulo.core.client.security.tokens.PasswordToken;
 import org.apache.accumulo.proxy.thrift.ColumnUpdate;
 import org.apache.accumulo.proxy.thrift.TimeType;
 import org.apache.thrift.TException;
@@ -56,6 +57,7 @@ public class TestProxyTableOperations {
   public static void setup() throws Exception {
     Properties prop = new Properties();
     prop.setProperty("org.apache.accumulo.proxy.ProxyServer.useMockInstance", "true");
+    prop.put("org.apache.accumulo.proxy.ProxyServer.tokenClass", PasswordToken.class.getName());
     
     proxy = Proxy.createProxyServer(Class.forName("org.apache.accumulo.proxy.thrift.AccumuloProxy"), Class.forName("org.apache.accumulo.proxy.ProxyServer"),
         port, TCompactProtocol.Factory.class, prop);

Propchange: accumulo/trunk/server/
------------------------------------------------------------------------------
  Merged /accumulo/branches/1.5/server:r1469113

Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/Accumulo.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/Accumulo.java?rev=1469120&r1=1469119&r2=1469120&view=diff
==============================================================================
--- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/Accumulo.java (original)
+++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/Accumulo.java Thu Apr 18 01:34:36 2013
@@ -26,6 +26,7 @@ import java.util.Map.Entry;
 import java.util.TreeMap;
 
 import org.apache.accumulo.core.Constants;
+import org.apache.accumulo.core.conf.Property;
 import org.apache.accumulo.core.trace.DistributedTrace;
 import org.apache.accumulo.core.util.CachedConfiguration;
 import org.apache.accumulo.core.util.UtilWaitThread;
@@ -127,7 +128,8 @@ public class Accumulo {
       sortedProps.put(entry.getKey(), entry.getValue());
     
     for (Entry<String,String> entry : sortedProps.entrySet()) {
-      if (entry.getKey().toLowerCase().contains("password") || entry.getKey().toLowerCase().contains("secret"))
+      if (entry.getKey().toLowerCase().contains("password") || entry.getKey().toLowerCase().contains("secret")
+          || entry.getKey().startsWith(Property.TRACE_TOKEN_PROPERTY_PREFIX.getKey()))
         log.info(entry.getKey() + " = <hidden>");
       else
         log.info(entry.getKey() + " = " + entry.getValue());

Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/client/ClientServiceHandler.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/client/ClientServiceHandler.java?rev=1469120&r1=1469119&r2=1469120&view=diff
==============================================================================
--- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/client/ClientServiceHandler.java (original)
+++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/client/ClientServiceHandler.java Thu Apr 18 01:34:36 2013
@@ -196,6 +196,8 @@ public class ClientServiceHandler implem
         continue;
       if (entry.getKey().toLowerCase().contains("password"))
         continue;
+      if (entry.getKey().startsWith(Property.TRACE_TOKEN_PROPERTY_PREFIX.getKey()))
+        continue;
       result.put(entry.getKey(), entry.getValue());
     }
     return result;
@@ -269,9 +271,4 @@ public class ClientServiceHandler implem
       return false;
     }
   }
-  
-  @Override
-  public String getAuthenticatorClassName() throws TException {
-    return security.getTokenLoginClass();
-  }
 }

Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/client/HdfsZooInstance.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/client/HdfsZooInstance.java?rev=1469120&r1=1469119&r2=1469120&view=diff
==============================================================================
--- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/client/HdfsZooInstance.java (original)
+++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/client/HdfsZooInstance.java Thu Apr 18 01:34:36 2013
@@ -19,7 +19,6 @@ package org.apache.accumulo.server.clien
 import java.nio.ByteBuffer;
 import java.util.Collections;
 import java.util.List;
-import java.util.Properties;
 import java.util.UUID;
 
 import org.apache.accumulo.core.Constants;
@@ -28,16 +27,12 @@ import org.apache.accumulo.core.client.A
 import org.apache.accumulo.core.client.Connector;
 import org.apache.accumulo.core.client.Instance;
 import org.apache.accumulo.core.client.ZooKeeperInstance;
-import org.apache.accumulo.core.client.impl.ClientExecReturn;
 import org.apache.accumulo.core.client.impl.ConnectorImpl;
-import org.apache.accumulo.core.client.impl.ServerClient;
-import org.apache.accumulo.core.client.impl.thrift.ClientService;
 import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
 import org.apache.accumulo.core.client.security.tokens.PasswordToken;
 import org.apache.accumulo.core.conf.AccumuloConfiguration;
 import org.apache.accumulo.core.conf.Property;
 import org.apache.accumulo.core.security.CredentialHelper;
-import org.apache.accumulo.core.security.handler.Authenticator;
 import org.apache.accumulo.core.security.thrift.TCredentials;
 import org.apache.accumulo.core.util.ByteBufferUtil;
 import org.apache.accumulo.core.util.OpTimer;
@@ -203,37 +198,4 @@ public class HdfsZooInstance implements 
   public Connector getConnector(org.apache.accumulo.core.security.thrift.AuthInfo auth) throws AccumuloException, AccumuloSecurityException {
     return getConnector(auth.user, auth.getPassword());
   }
-  
-  @Override
-  public String getAuthenticatorClassName() throws AccumuloException, AccumuloSecurityException {
-    return ServerClient.execute(this, new ClientExecReturn<String,ClientService.Client>() {
-      @Override
-      public String execute(ClientService.Client iface) throws Exception {
-        return iface.getAuthenticatorClassName();
-      }
-    });
-  }
-  
-  @Override
-  public Authenticator getAuthenticator() throws AccumuloException, AccumuloSecurityException {
-    String authenticatorName = getAuthenticatorClassName();
-    try {
-      Class<?> clazz = Class.forName(authenticatorName);
-      Class<? extends Authenticator> authClass = clazz.asSubclass(Authenticator.class);
-      Authenticator authenticator = authClass.newInstance();
-      return authenticator;
-    } catch (ClassNotFoundException e) {
-      throw new AccumuloException(e);
-    } catch (InstantiationException e) {
-      throw new AccumuloException(e);
-    } catch (IllegalAccessException e) {
-      throw new AccumuloException(e);
-    }
-  }
-  
-  public Connector getConnector(String principal, Properties props) throws AccumuloException, AccumuloSecurityException {
-    Authenticator authenticator = getAuthenticator();
-    AuthenticationToken authToken = authenticator.login(principal, props);
-    return getConnector(principal, authToken);
-  }
 }

Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/monitor/servlets/trace/Basic.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/monitor/servlets/trace/Basic.java?rev=1469120&r1=1469119&r2=1469120&view=diff
==============================================================================
--- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/monitor/servlets/trace/Basic.java (original)
+++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/monitor/servlets/trace/Basic.java Thu Apr 18 01:34:36 2013
@@ -36,6 +36,7 @@ import org.apache.accumulo.core.trace.Tr
 import org.apache.accumulo.server.client.HdfsZooInstance;
 import org.apache.accumulo.server.monitor.Monitor;
 import org.apache.accumulo.server.monitor.servlets.BasicServlet;
+import org.apache.accumulo.start.classloader.AccumuloClassLoader;
 
 abstract class Basic extends BasicServlet {
   
@@ -68,27 +69,28 @@ abstract class Basic extends BasicServle
   
   protected Scanner getScanner(StringBuilder sb) throws AccumuloException, AccumuloSecurityException {
     AccumuloConfiguration conf = Monitor.getSystemConfiguration();
-    String principal = conf.get(Property.TRACE_PRINCIPAL);
-    if (principal == null) {
-      @SuppressWarnings("deprecation")
-      Property p = Property.TRACE_USER;
-      principal = conf.get(p);
-    }
+    String principal = conf.get(Property.TRACE_USER);
     AuthenticationToken at;
-    Map<String,String> loginMap = conf.getAllPropertiesWithPrefix(Property.TRACE_LOGIN_PROPERTIES);
+    Map<String,String> loginMap = conf.getAllPropertiesWithPrefix(Property.TRACE_TOKEN_PROPERTY_PREFIX);
     if (loginMap.isEmpty()) {
-      @SuppressWarnings("deprecation")
       Property p = Property.TRACE_PASSWORD;
       at = new PasswordToken(conf.get(p).getBytes());
     } else {
       Properties props = new Properties();
-      int prefixLength = Property.TRACE_LOGIN_PROPERTIES.getKey().length() + 1;
+      int prefixLength = Property.TRACE_TOKEN_PROPERTY_PREFIX.getKey().length() + 1;
       for (Entry<String,String> entry : loginMap.entrySet()) {
         props.put(entry.getKey().substring(prefixLength), entry.getValue());
       }
-      if (!props.containsKey("principal"))
-        props.put("principal", principal);
-      at = HdfsZooInstance.getInstance().getAuthenticator().login(principal, props);
+      
+      AuthenticationToken token;
+      try {
+        token = AccumuloClassLoader.getClassLoader().loadClass(conf.get(Property.TRACE_TOKEN_TYPE)).asSubclass(AuthenticationToken.class).newInstance();
+      } catch (Exception e) {
+        throw new AccumuloException(e);
+      }
+      
+      token.init(props);
+      at = token;
     }
     
     String table = conf.get(Property.TRACE_TABLE);

Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/SecurityOperation.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/SecurityOperation.java?rev=1469120&r1=1469119&r2=1469120&view=diff
==============================================================================
--- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/SecurityOperation.java (original)
+++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/SecurityOperation.java Thu Apr 18 01:34:36 2013
@@ -612,8 +612,4 @@ public class SecurityOperation {
     authenticate(credentials);
     return hasSystemPermission(credentials.getPrincipal(), SystemPermission.CREATE_TABLE, false);
   }
-  
-  public String getTokenLoginClass() {
-    return authenticator.getTokenLoginClass();
-  }
 }

Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/Authenticator.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/Authenticator.java?rev=1469120&r1=1469119&r2=1469120&view=diff
==============================================================================
--- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/Authenticator.java (original)
+++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/Authenticator.java Thu Apr 18 01:34:36 2013
@@ -28,7 +28,7 @@ import org.apache.accumulo.core.security
  * should throw an AccumuloSecurityException with the error code UNSUPPORTED_OPERATION
  */
 
-public interface Authenticator extends org.apache.accumulo.core.security.handler.Authenticator {
+public interface Authenticator {
   
   public void initialize(String instanceId, boolean initialize);
   
@@ -48,7 +48,7 @@ public interface Authenticator extends o
   
   public boolean userExists(String user) throws AccumuloSecurityException;
   
-  public String getTokenLoginClass();
+  public Set<Class<? extends AuthenticationToken>> getSupportedTokenTypes();
   
   /**
    * Returns true if the given token is appropriate for this Authenticator

Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/InsecureAuthenticator.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/InsecureAuthenticator.java?rev=1469120&r1=1469119&r2=1469120&view=diff
==============================================================================
--- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/InsecureAuthenticator.java (original)
+++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/InsecureAuthenticator.java Thu Apr 18 01:34:36 2013
@@ -17,6 +17,7 @@
 package org.apache.accumulo.server.security.handler;
 
 import java.util.Collections;
+import java.util.HashSet;
 import java.util.Set;
 
 import org.apache.accumulo.core.client.AccumuloSecurityException;
@@ -28,7 +29,7 @@ import org.apache.accumulo.core.security
  * This is an Authenticator implementation that doesn't actually do any security. Any principal will authenticate if a NullToken is provided. It's existence is
  * primarily for testing, but can also be used for any system where user space management is not a concern.
  */
-public class InsecureAuthenticator extends org.apache.accumulo.core.security.handler.InsecureAuthenticator implements Authenticator {
+public class InsecureAuthenticator implements Authenticator {
   
   @Override
   public void initialize(String instanceId, boolean initialize) {
@@ -76,13 +77,15 @@ public class InsecureAuthenticator exten
   }
   
   @Override
-  public String getTokenLoginClass() {
-    return this.getClass().getSuperclass().getName();
-  }
-  
-  @Override
   public boolean validTokenClass(String tokenClass) {
     return tokenClass.equals(NullToken.class.getName());
   }
+
+  @Override
+  public Set<Class<? extends AuthenticationToken>> getSupportedTokenTypes() {
+    Set<Class<? extends AuthenticationToken>> cs = new HashSet<Class<? extends AuthenticationToken>>();
+    cs.add(NullToken.class);
+    return cs;
+  }
   
 }

Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/ZKAuthenticator.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/ZKAuthenticator.java?rev=1469120&r1=1469119&r2=1469120&view=diff
==============================================================================
--- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/ZKAuthenticator.java (original)
+++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/ZKAuthenticator.java Thu Apr 18 01:34:36 2013
@@ -16,6 +16,7 @@
  */
 package org.apache.accumulo.server.security.handler;
 
+import java.util.HashSet;
 import java.util.Set;
 import java.util.TreeSet;
 
@@ -35,7 +36,7 @@ import org.apache.log4j.Logger;
 import org.apache.zookeeper.KeeperException;
 
 // Utility class for adding all authentication info into ZK
-public final class ZKAuthenticator extends org.apache.accumulo.core.security.handler.ZKAuthenticator implements Authenticator {
+public final class ZKAuthenticator implements Authenticator {
   static final Logger log = Logger.getLogger(ZKAuthenticator.class);
   private static Authenticator zkAuthenticatorInstance = null;
   
@@ -199,8 +200,10 @@ public final class ZKAuthenticator exten
   }
   
   @Override
-  public String getTokenLoginClass() {
-    return this.getClass().getSuperclass().getName();
+  public Set<Class<? extends AuthenticationToken>> getSupportedTokenTypes() {
+    Set<Class<? extends AuthenticationToken>> cs = new HashSet<Class<? extends AuthenticationToken>>();
+    cs.add(PasswordToken.class);
+    return cs;
   }
 
   @Override

Modified: accumulo/trunk/server/src/main/java/org/apache/accumulo/server/trace/TraceServer.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/server/src/main/java/org/apache/accumulo/server/trace/TraceServer.java?rev=1469120&r1=1469119&r2=1469120&view=diff
==============================================================================
--- accumulo/trunk/server/src/main/java/org/apache/accumulo/server/trace/TraceServer.java (original)
+++ accumulo/trunk/server/src/main/java/org/apache/accumulo/server/trace/TraceServer.java Thu Apr 18 01:34:36 2013
@@ -49,6 +49,7 @@ import org.apache.accumulo.server.client
 import org.apache.accumulo.server.conf.ServerConfiguration;
 import org.apache.accumulo.server.util.time.SimpleTimer;
 import org.apache.accumulo.server.zookeeper.ZooReaderWriter;
+import org.apache.accumulo.start.classloader.AccumuloClassLoader;
 import org.apache.accumulo.trace.instrument.Span;
 import org.apache.accumulo.trace.thrift.RemoteSpan;
 import org.apache.accumulo.trace.thrift.SpanReceiver.Iface;
@@ -160,25 +161,25 @@ public class TraceServer implements Watc
     table = conf.get(Property.TRACE_TABLE);
     while (true) {
       try {
-        String principal = conf.get(Property.TRACE_PRINCIPAL);
-        if (principal == null) {
-          @SuppressWarnings("deprecation")
-          Property p = Property.TRACE_USER;
-          principal = conf.get(p);
-        }
+        String principal = conf.get(Property.TRACE_USER);
         AuthenticationToken at;
-        Map<String,String> loginMap = conf.getAllPropertiesWithPrefix(Property.TRACE_LOGIN_PROPERTIES);
-        if (loginMap == null) {
-          @SuppressWarnings("deprecation")
+        Map<String,String> loginMap = conf.getAllPropertiesWithPrefix(Property.TRACE_TOKEN_PROPERTY_PREFIX);
+        if (loginMap.isEmpty()) {
           Property p = Property.TRACE_PASSWORD;
           at = new PasswordToken(conf.get(p).getBytes());
         } else {
           Properties props = new Properties();
-          int prefixLength = Property.TRACE_LOGIN_PROPERTIES.getKey().length() + 1;
+          AuthenticationToken token = AccumuloClassLoader.getClassLoader().loadClass(conf.get(Property.TRACE_TOKEN_TYPE)).asSubclass(AuthenticationToken.class)
+              .newInstance();
+
+          int prefixLength = Property.TRACE_TOKEN_PROPERTY_PREFIX.getKey().length() + 1;
           for (Entry<String,String> entry : loginMap.entrySet()) {
             props.put(entry.getKey().substring(prefixLength), entry.getValue());
           }
-          at = serverConfiguration.getInstance().getAuthenticator().login(principal, props);
+
+          token.init(props);
+          
+          at = token;
         }
         
         connector = serverConfiguration.getInstance().getConnector(principal, at);

Propchange: accumulo/trunk/src/
------------------------------------------------------------------------------
  Merged /accumulo/branches/1.5/src:r1469113

Modified: accumulo/trunk/test/src/main/java/org/apache/accumulo/test/MiniAccumuloCluster.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/test/src/main/java/org/apache/accumulo/test/MiniAccumuloCluster.java?rev=1469120&r1=1469119&r2=1469120&view=diff
==============================================================================
--- accumulo/trunk/test/src/main/java/org/apache/accumulo/test/MiniAccumuloCluster.java (original)
+++ accumulo/trunk/test/src/main/java/org/apache/accumulo/test/MiniAccumuloCluster.java Thu Apr 18 01:34:36 2013
@@ -263,7 +263,7 @@ public class MiniAccumuloCluster {
     appendProp(fileWriter, Property.TSERV_MAXMEM, "50M", siteConfig);
     appendProp(fileWriter, Property.TSERV_WALOG_MAX_SIZE, "100M", siteConfig);
     appendProp(fileWriter, Property.TSERV_NATIVEMAP_ENABLED, "false", siteConfig);
-    appendProp(fileWriter, Property.TRACE_LOGIN_PROPERTIES  + ".password", config.getRootPassword(), siteConfig);
+    appendProp(fileWriter, Property.TRACE_TOKEN_PROPERTY_PREFIX + ".password", config.getRootPassword(), siteConfig);
     appendProp(fileWriter, Property.TRACE_PORT, "" + getRandomFreePort(), siteConfig);
     // since there is a small amount of memory, check more frequently for majc... setting may not be needed in 1.5
     appendProp(fileWriter, Property.TSERV_MAJC_DELAY, "3", siteConfig);

Modified: accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/security/WalkingSecurity.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/security/WalkingSecurity.java?rev=1469120&r1=1469119&r2=1469120&view=diff
==============================================================================
--- accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/security/WalkingSecurity.java (original)
+++ accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/security/WalkingSecurity.java Thu Apr 18 01:34:36 2013
@@ -18,10 +18,8 @@ package org.apache.accumulo.test.randomw
 
 import java.io.IOException;
 import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
+import java.util.HashSet;
 import java.util.Map;
-import java.util.Properties;
 import java.util.Set;
 import java.util.TreeSet;
 
@@ -400,27 +398,18 @@ public class WalkingSecurity extends Sec
   }
   
   @Override
-  public AuthenticationToken login(String principal, Properties properties) throws AccumuloSecurityException {
-    if (properties.containsKey("password"))
-      return new PasswordToken(properties.getProperty("password"));
-    throw new AccumuloSecurityException(principal, SecurityErrorCode.INSUFFICIENT_PROPERTIES);
-  }
-  
-  @Override
   public boolean validTokenClass(String tokenClass) {
     return tokenClass.equals(PasswordToken.class.getCanonicalName());
   }
 
-  @Override
-  public List<Set<AuthProperty>> getProperties() {
-    List<Set<AuthProperty>> toRet = new LinkedList<Set<AuthProperty>>();
-    Set<AuthProperty> internal = new TreeSet<AuthProperty>();
-    internal.add(new AuthProperty("password", "the password for the principal", true));
-    toRet.add(internal);
-    return toRet;
-  }
-
   public static void clearInstance() {
     instance = null;
   }
+  
+  @Override
+  public Set<Class<? extends AuthenticationToken>> getSupportedTokenTypes() {
+    Set<Class<? extends AuthenticationToken>> cs = new HashSet<Class<? extends AuthenticationToken>>();
+    cs.add(PasswordToken.class);
+    return cs;
+  }
 }