Removed codes related to user registration & password management.

Change-Id: I2f2030269c8faa8fa74c6fff354e6638535ffb2d
diff --git a/core/pom.xml b/core/pom.xml
index 47081e0..aff703d 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -279,8 +279,7 @@
 		<dependency>
 			<groupId>de.ids_mannheim.korap</groupId>
 			<artifactId>Krill</artifactId>
-			<!-- <version>[0.58.1,)</version> -->
-			<version>0.58.3</version>
+			<version>[0.58.3,)</version>
 			<exclusions>
 				<exclusion>
 					<groupId>org.xerial</groupId>
diff --git a/core/src/main/java/de/ids_mannheim/korap/authentication/AuthenticationManager.java b/core/src/main/java/de/ids_mannheim/korap/authentication/AuthenticationManager.java
index a56cc76..e782ea6 100644
--- a/core/src/main/java/de/ids_mannheim/korap/authentication/AuthenticationManager.java
+++ b/core/src/main/java/de/ids_mannheim/korap/authentication/AuthenticationManager.java
@@ -76,9 +76,6 @@
 
     public abstract void lockAccount (User user) throws KustvaktException;
 
-    public abstract User createUserAccount (Map<String, Object> attributes,
-            boolean confirmation_required) throws KustvaktException;
-
     public abstract boolean deleteAccount (User user) throws KustvaktException;
 
     public abstract <T extends Userdata> T getUserData (User user,
@@ -87,15 +84,6 @@
     public abstract void updateUserData (Userdata data)
             throws KustvaktException;
 
-    public abstract Object[] validateResetPasswordRequest (String username,
-            String email) throws KustvaktException;
-
-    public abstract void resetPassword (String uriFragment, String username,
-            String newPassphrase) throws KustvaktException;
-
-    public abstract void confirmRegistration (String uriFragment,
-            String username) throws KustvaktException;
-
     public String providerList () {
         return "provider list: " + this.providers.toString();
     }
diff --git a/core/src/main/java/de/ids_mannheim/korap/user/DataFactory.java b/core/src/main/java/de/ids_mannheim/korap/user/DataFactory.java
index 4b14b42..bb86cb2 100644
--- a/core/src/main/java/de/ids_mannheim/korap/user/DataFactory.java
+++ b/core/src/main/java/de/ids_mannheim/korap/user/DataFactory.java
@@ -1,16 +1,20 @@
 package de.ids_mannheim.korap.user;
 
+import java.io.IOException;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.node.ArrayNode;
 import com.fasterxml.jackson.databind.node.ObjectNode;
-import de.ids_mannheim.korap.exceptions.KustvaktException;
-import de.ids_mannheim.korap.exceptions.StatusCodes;
-import de.ids_mannheim.korap.interfaces.ValidatorIface;
-import de.ids_mannheim.korap.interfaces.db.UserDataDbIface;
-import de.ids_mannheim.korap.utils.JsonUtils;
 
-import java.io.IOException;
-import java.util.*;
+import de.ids_mannheim.korap.exceptions.KustvaktException;
+import de.ids_mannheim.korap.interfaces.ValidatorIface;
+import de.ids_mannheim.korap.utils.JsonUtils;
 
 /**
  * @author hanl
@@ -18,8 +22,6 @@
  */
 public abstract class DataFactory {
 
-    private static final Map<Class<? extends Userdata>, UserDataDbIface> instances = new HashMap<>();
-
     private static DataFactory factory;
 
 
diff --git a/full/src/main/java/de/ids_mannheim/korap/authentication/KustvaktAuthenticationManager.java b/full/src/main/java/de/ids_mannheim/korap/authentication/KustvaktAuthenticationManager.java
index e6bce21..fa2d380 100644
--- a/full/src/main/java/de/ids_mannheim/korap/authentication/KustvaktAuthenticationManager.java
+++ b/full/src/main/java/de/ids_mannheim/korap/authentication/KustvaktAuthenticationManager.java
@@ -621,165 +621,7 @@
 		entHandler.updateAccount(u);
 	}
 
-	public KorAPUser checkPasswordAllowance(KorAPUser user, String oldPassword, String newPassword)
-			throws KustvaktException {
-		String dbPassword = user.getPassword();
-
-		if (oldPassword.trim().equals(newPassword.trim())) {
-			// TODO: special error StatusCodes for this?
-			throw new WrappedException(new KustvaktException(user.getId(), StatusCodes.ILLEGAL_ARGUMENT),
-					StatusCodes.PASSWORD_RESET_FAILED, newPassword);
-		}
-
-		boolean check = crypto.checkHash(oldPassword, dbPassword);
-
-		if (!check)
-			throw new WrappedException(new KustvaktException(user.getId(), StatusCodes.BAD_CREDENTIALS),
-					StatusCodes.PASSWORD_RESET_FAILED);
-
-		try {
-			user.setPassword(crypto.secureHash(newPassword));
-		} catch (NoSuchAlgorithmException | UnsupportedEncodingException e) {
-			throw new WrappedException(
-					new KustvaktException(user.getId(), StatusCodes.ILLEGAL_ARGUMENT, "password invalid", newPassword),
-					StatusCodes.PASSWORD_RESET_FAILED, user.toString(), newPassword);
-		}
-		return user;
-	}
-
-	// fixme: use clientinfo for logging/auditing?! = from where did he access
-	// the reset function?
-	@Override
-	public void resetPassword(String uriFragment, String username, String newPassphrase) throws KustvaktException {
-		try {
-			validator.validateEntry(username, Attributes.USERNAME);
-			validator.validateEntry(newPassphrase, Attributes.PASSWORD);
-		} catch (KustvaktException e) {
-			jlog.error("Error: "+ e.string());
-			throw new WrappedException(
-					new KustvaktException(username, StatusCodes.ILLEGAL_ARGUMENT, "password invalid", newPassphrase),
-					StatusCodes.PASSWORD_RESET_FAILED, username, newPassphrase);
-		}
-
-		try {
-			newPassphrase = crypto.secureHash(newPassphrase);
-		} catch (NoSuchAlgorithmException | UnsupportedEncodingException e) {
-			jlog.error("Encoding/Algorithm Error", e);
-			throw new WrappedException(
-					new KustvaktException(username, StatusCodes.ILLEGAL_ARGUMENT, "password invalid", newPassphrase),
-					StatusCodes.PASSWORD_RESET_FAILED, username, uriFragment, newPassphrase);
-		}
-		int result = entHandler.resetPassphrase(username, uriFragment, newPassphrase);
-
-		if (result == 0)
-			throw new WrappedException(
-					new KustvaktException(username, StatusCodes.EXPIRED, "URI fragment expired", uriFragment),
-					StatusCodes.PASSWORD_RESET_FAILED, username, uriFragment);
-		else if (result == 1)
-			jlog.info("successfully reset password for user "+ username);
-	}
-
-	public void confirmRegistration(String uriFragment, String username) throws KustvaktException {
-		try {
-			validator.validateEntry(username, Attributes.USERNAME);
-		} catch (KustvaktException e) {
-			jlog.error("Error: "+ e.string());
-			throw new WrappedException(e, StatusCodes.ACCOUNT_CONFIRMATION_FAILED, username, uriFragment);
-		}
-		int r = entHandler.activateAccount(username, uriFragment);
-		if (r == 0) {
-			User user;
-			try {
-				user = entHandler.getAccount(username);
-			} catch (EmptyResultException e) {
-				throw new WrappedException(new KustvaktException(username, StatusCodes.BAD_CREDENTIALS),
-						StatusCodes.ACCOUNT_CONFIRMATION_FAILED, username, uriFragment);
-			}
-			entHandler.deleteAccount(user.getId());
-			throw new WrappedException(new KustvaktException(user.getId(), StatusCodes.EXPIRED),
-					StatusCodes.ACCOUNT_CONFIRMATION_FAILED, username, uriFragment);
-		} else if (r == 1)
-			jlog.info("successfully confirmed user registration for user "+ username);
-		// register successful audit!
-	}
-
-	/**
-	 * @param attributes
-	 * @return
-	 * @throws KustvaktException
-	 */
-	// fixme: remove clientinfo object (not needed), use json representation to
-	// get stuff
-	public User createUserAccount(Map<String, Object> attributes, boolean confirmation_required)
-			throws KustvaktException {
-		Map<String, Object> safeMap = validator.validateMap(attributes);
-
-		if (safeMap.get(Attributes.USERNAME) == null || ((String) safeMap.get(Attributes.USERNAME)).isEmpty())
-			throw new KustvaktException(StatusCodes.ILLEGAL_ARGUMENT, "username must be set", "username");
-		if (safeMap.get(Attributes.PASSWORD) == null || ((String) safeMap.get(Attributes.PASSWORD)).isEmpty())
-			throw new KustvaktException(safeMap.get(Attributes.USERNAME), StatusCodes.ILLEGAL_ARGUMENT,
-					"password must be set", "password");
-
-		String username = validator.validateEntry((String) safeMap.get(Attributes.USERNAME), Attributes.USERNAME);
-		String password = validator.validateEntry((String) safeMap.get(Attributes.PASSWORD), Attributes.PASSWORD);
-		String hash;
-		try {
-			hash = crypto.secureHash(password);
-		} catch (UnsupportedEncodingException | NoSuchAlgorithmException e) {
-			jlog.error("Encryption error", e);
-			throw new KustvaktException(StatusCodes.ILLEGAL_ARGUMENT);
-		}
-
-		KorAPUser user = User.UserFactory.getUser(username);
-		Object id = attributes.get(Attributes.ID);
-		if (id != null && id instanceof Integer)
-			user.setId((Integer) id);
-
-		user.setAccountLocked(confirmation_required);
-		if (confirmation_required) {
-			URIParam param = new URIParam(crypto.createToken(),
-					TimeUtils.plusSeconds(config.getTokenTTL()).getMillis());
-			user.addField(param);
-		}
-		user.setPassword(hash);
-
-//		String o = (String) attributes.get(Attributes.IS_ADMIN);
-//		boolean b = Boolean.parseBoolean(o);
-//		user.setSystemAdmin(b);
-
-		try {
-			UserDetails details = new UserDetails();
-			details.read(safeMap, true);
-
-			UserSettings settings = new UserSettings();
-			settings.read(safeMap, true);
-
-			jlog.info("Creating new user account for user "+ user.getUsername());
-			entHandler.createAccount(user);
-//			if (user.isSystemAdmin() && user instanceof KorAPUser) {
-//				adminDao.addAccount(user);
-//				user.setCorpusAccess(CorpusAccess.ALL);
-//			}
-			details.setUserId(user.getId());
-			settings.setUserId(user.getId());
-
-			UserDataDbIface dao = BeansFactory.getTypeFactory().getTypeInterfaceBean(userdatadaos, UserDetails.class);
-			// todo: remove this
-			assert dao != null;
-			dao.store(details);
-			dao = BeansFactory.getTypeFactory().getTypeInterfaceBean(userdatadaos, UserSettings.class);
-			assert dao != null;
-			dao.store(settings);
-		} catch (KustvaktException e) {
-			jlog.error("Error: "+ e.string());
-			throw new WrappedException(e, StatusCodes.CREATE_ACCOUNT_FAILED, user.toString());
-		}
-
-		auditing.audit(AuditRecord.serviceRecord(user.getUsername(), StatusCodes.CREATE_ACCOUNT_SUCCESSFUL));
-		return user;
-	}
-
-	// todo:
+		// todo:
 	private ShibbolethUser createShibbUserAccount(Map<String, Object> attributes) throws KustvaktException {
         if (DEBUG) {
             jlog.debug("creating shibboleth user account for user attr: "
@@ -903,45 +745,6 @@
 		return result;
 	}
 
-	public Object[] validateResetPasswordRequest(String username, String email) throws KustvaktException {
-		String uritoken;
-		validator.validateEntry(email, Attributes.EMAIL);
-		User ident;
-		try {
-			ident = entHandler.getAccount(username);
-			if (ident instanceof DemoUser)
-				// throw new
-				// NotAuthorizedException(StatusCodes.PERMISSION_DENIED,
-				// "password reset now allowed for DemoUser", "");
-				throw new WrappedException(username, StatusCodes.PASSWORD_RESET_FAILED, username);
-		} catch (EmptyResultException e) {
-			throw new WrappedException(
-					new KustvaktException(username, StatusCodes.ILLEGAL_ARGUMENT, "username not found", username),
-					StatusCodes.PASSWORD_RESET_FAILED, username);
-		}
-
-		Userdata data = this.getUserData(ident, UserDetails.class);
-		KorAPUser user = (KorAPUser) ident;
-
-		if (!email.equals(data.get(Attributes.EMAIL)))
-			// throw new NotAuthorizedException(StatusCodes.ILLEGAL_ARGUMENT,
-			// "invalid parameter: email", "email");
-			throw new WrappedException(
-					new KustvaktException(user.getId(), StatusCodes.ILLEGAL_ARGUMENT, "email invalid", email),
-					StatusCodes.PASSWORD_RESET_FAILED, email);
-		uritoken = crypto.encodeBase();
-		URIParam param = new URIParam(uritoken, TimeUtils.plusHours(24).getMillis());
-		user.addField(param);
-
-		try {
-			entHandler.updateAccount(user);
-		} catch (KustvaktException e) {
-			jlog.error("Error "+ e.string());
-			throw new WrappedException(e, StatusCodes.PASSWORD_RESET_FAILED);
-		}
-		return new Object[] { uritoken, TimeUtils.format(param.getUriExpiration()) };
-	}
-
 	// EM: not in the new DB
 	@Override
 	public <T extends Userdata> T getUserData(User user, Class<T> clazz) throws WrappedException {
diff --git a/full/src/main/java/de/ids_mannheim/korap/web/controller/UserController.java b/full/src/main/java/de/ids_mannheim/korap/web/controller/UserController.java
index d1cb539..216cad5 100644
--- a/full/src/main/java/de/ids_mannheim/korap/web/controller/UserController.java
+++ b/full/src/main/java/de/ids_mannheim/korap/web/controller/UserController.java
@@ -2,7 +2,6 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
@@ -13,17 +12,14 @@
 import javax.ws.rs.Consumes;
 import javax.ws.rs.DELETE;
 import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
 import javax.ws.rs.POST;
 import javax.ws.rs.Path;
 import javax.ws.rs.Produces;
 import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.core.UriBuilder;
 import javax.ws.rs.core.UriInfo;
 
 import org.apache.logging.log4j.LogManager;
@@ -32,16 +28,12 @@
 import org.springframework.stereotype.Controller;
 
 import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.sun.jersey.spi.container.ContainerRequest;
 import com.sun.jersey.spi.container.ResourceFilters;
 
 import de.ids_mannheim.korap.authentication.AuthenticationManager;
 import de.ids_mannheim.korap.config.Attributes;
 import de.ids_mannheim.korap.config.Scopes;
-import de.ids_mannheim.korap.config.URIParam;
 import de.ids_mannheim.korap.exceptions.KustvaktException;
-import de.ids_mannheim.korap.exceptions.StatusCodes;
 import de.ids_mannheim.korap.security.context.TokenContext;
 import de.ids_mannheim.korap.user.KorAPUser;
 import de.ids_mannheim.korap.user.User;
@@ -51,7 +43,6 @@
 import de.ids_mannheim.korap.user.Userdata;
 import de.ids_mannheim.korap.utils.JsonUtils;
 import de.ids_mannheim.korap.utils.StringUtils;
-import de.ids_mannheim.korap.utils.TimeUtils;
 import de.ids_mannheim.korap.web.KustvaktResponseHandler;
 import de.ids_mannheim.korap.web.filter.APIVersionFilter;
 import de.ids_mannheim.korap.web.filter.AuthenticationFilter;
@@ -59,14 +50,12 @@
 import de.ids_mannheim.korap.web.filter.DemoUserFilter;
 import de.ids_mannheim.korap.web.filter.PiwikFilter;
 
-/** Some of the APIs are not applicable due to changes in DB, 
- * i.e. users are not saved in the DB.
+/** 
  * 
  * @author hanl, margaretha
- * @lastUpdate 11/2017
  */
 @Controller
-@Path("v0.1/user")
+@Path("{version}/user")
 @Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")
 @ResourceFilters({APIVersionFilter.class, PiwikFilter.class })
 public class UserController {
@@ -80,64 +69,7 @@
 
     private @Context UriInfo info;
 
-
-    // fixme: json contains password in clear text. Encrypt request?
-    // EM: no encryption is needed for communications over https. 
-    // It should not be necessary in IDS internal network. 
-
-    @Deprecated
-    // fixme: should also collect service exception, not just db exception!
-    @POST
-    @Path("register")
-    @Consumes(MediaType.APPLICATION_JSON)
-    public Response signUp (
-            @HeaderParam(ContainerRequest.USER_AGENT) String agent,
-            @HeaderParam(ContainerRequest.HOST) String host,
-            @Context Locale locale, Map values) {
-
-        values.put(Attributes.HOST, host);
-        values.put(Attributes.USER_AGENT, agent);
-        UriBuilder uriBuilder;
-        User user;
-        try {
-            uriBuilder = info.getBaseUriBuilder();
-            uriBuilder.path("user").path("confirm");
-            user = controller.createUserAccount(values, true);
-        }
-        catch (KustvaktException e) {
-            throw kustvaktResponseHandler.throwit(e);
-        }
-        URIParam uri = user.getField(URIParam.class);
-        if (uri.hasValues()) {
-            uriBuilder
-                    .queryParam(Attributes.QUERY_PARAM_URI,
-                            uri.getUriFragment())
-                    .queryParam(Attributes.QUERY_PARAM_USER,
-                            user.getUsername());
-            jlog.info("registration was successful for user "+
-                    user.getUsername());
-            Map<String, Object> object = new HashMap<String, Object>();
-            object.put("confirm_uri", uriBuilder.build());
-            object.put("uri_expiration",
-                    TimeUtils.format(uri.getUriExpiration()));
-            try {
-                return Response.ok(JsonUtils.toJSON(object)).build();
-            }
-            catch (KustvaktException e) {
-                throw kustvaktResponseHandler.throwit(e);
-            }
-        }
-        else {
-            jlog.error("Failed creating confirmation and expiry tokens.");
-            // EM: why illegal argument when uri fragment/param is self-generated 
-            throw kustvaktResponseHandler.throwit(StatusCodes.ILLEGAL_ARGUMENT,
-                    "failed to validate uri parameter",
-                    "confirmation fragment");
-        }
-
-    }
-
-    @Deprecated
+    // EM: may be used for managing shib users
     //todo: password update in special function? --> password reset only!
     @POST
     @Path("update")
@@ -162,107 +94,7 @@
         }
         return Response.ok().build();
     }
-
-    @Deprecated
-    @GET
-    @Path("confirm")
-    @Produces(MediaType.TEXT_HTML)
-    public Response confirmRegistration (@QueryParam("uri") String uritoken,
-            @Context Locale locale, @QueryParam("user") String username) {
-        if (uritoken == null || uritoken.isEmpty())
-            throw kustvaktResponseHandler.throwit(StatusCodes.ILLEGAL_ARGUMENT,
-                    "parameter missing", "uri parameter");
-        if (username == null || username.isEmpty())
-            throw kustvaktResponseHandler.throwit(StatusCodes.ILLEGAL_ARGUMENT,
-                    "parameter missing", "Username");
-
-        try {
-            controller.confirmRegistration(uritoken, username);
-        }
-        catch (KustvaktException e) {
-            e.printStackTrace();
-            throw kustvaktResponseHandler.throwit(e);
-        }
-        return Response.ok().build();
-    }
-
-    @Deprecated
-    // todo: auditing!
-    @POST
-    @Path("requestReset")
-    @Produces(MediaType.TEXT_HTML)
-    @Consumes({ MediaType.APPLICATION_JSON,
-            MediaType.APPLICATION_FORM_URLENCODED })
-    public Response requestPasswordReset (@Context Locale locale, String json) {
-        JsonNode node;
-        try {
-            node = JsonUtils.readTree(json);
-        }
-        catch (KustvaktException e1) {
-            throw kustvaktResponseHandler.throwit(e1);
-        }
-        StringBuilder builder = new StringBuilder();
-        String username, email;
-        username = node.path(Attributes.USERNAME).asText();
-        email = node.path(Attributes.EMAIL).asText();
-
-        // deprecated --> depends on the client!
-        //        String url = config.getMailProperties()
-        //                .getProperty("korap.frontend.url", "");
-        //        if (url.isEmpty())
-        //            return Response.ok("URLException: Missing source URL").build();
-
-        //        URIUtils utils = new URIUtils(info);
-        // may inject the actual REST url in a redirect request?!
-        //        UriBuilder uriBuilder = UriBuilder.fromUri(url).fragment("reset");
-        Object[] objects;
-        try {
-            builder.append("?");
-            // just append the endpint fragment plus the query parameter.
-            // the address by which the data is handled depends on the frontend
-            objects = controller.validateResetPasswordRequest(username, email);
-            builder.append(Attributes.QUERY_PARAM_URI).append("=")
-                    .append(objects[0]);
-            builder.append(Attributes.QUERY_PARAM_USER).append("=")
-                    .append(username);
-        }
-        catch (KustvaktException e) {
-            jlog.error("Eoxception encountered! "+ e.string());
-            throw kustvaktResponseHandler.throwit(e);
-        }
-
-        ObjectNode obj = JsonUtils.createObjectNode();
-        obj.put(Attributes.URI, builder.toString());
-        obj.put(Attributes.URI_EXPIRATION, objects[1].toString());
-        try {
-            return Response.ok(JsonUtils.toJSON(obj)).build();
-        }
-        catch (KustvaktException e) {
-            throw kustvaktResponseHandler.throwit(e);
-        }
-    }
-
-    @Deprecated
-    @POST
-    @Path("reset")
-    @Produces(MediaType.TEXT_HTML)
-    @Consumes({ MediaType.APPLICATION_JSON,
-            MediaType.APPLICATION_FORM_URLENCODED })
-    public Response resetPassword (
-            @QueryParam(Attributes.QUERY_PARAM_URI) String uri,
-            @QueryParam(Attributes.QUERY_PARAM_USER) String username,
-            @Context HttpHeaders headers, String passphrase) {
-        try {
-            controller.resetPassword(uri, username, passphrase);
-        }
-        catch (KustvaktException e) {
-            jlog.error("Exception encountered!", e);
-            return Response.notModified().build();
-        }
-        return Response.ok().build();
-    }
-
-
+    
     // todo: refactor and make something out of if --> needs to give some sort of feedback!
     @GET
     @Path("info")
@@ -346,7 +178,6 @@
         return Response.ok().build();
     }
 
-
     @GET
     @Path("details")
     @ResourceFilters({ AuthenticationFilter.class, DemoUserFilter.class,
@@ -372,6 +203,7 @@
     }
 
 
+    // EM: may be used for managing shib users
     @POST
     @Path("details")
     @Consumes({ MediaType.APPLICATION_JSON })
@@ -463,7 +295,7 @@
         }
     }
 
-    @Deprecated
+    // EM: may be used for managing shib users
     @DELETE
     @ResourceFilters({ AuthenticationFilter.class, PiwikFilter.class,
             BlockingFilter.class })
diff --git a/full/src/main/resources/default-config.xml b/full/src/main/resources/default-config.xml
index 2fbd0ae..d543d53 100644
--- a/full/src/main/resources/default-config.xml
+++ b/full/src/main/resources/default-config.xml
@@ -296,11 +296,6 @@
 		<ref bean="userdata_settings" />
 	</util:list>
 
-
-	<util:list id="kustvakt_resources"
-		value-type="de.ids_mannheim.korap.interfaces.db.ResourceOperationIface">
-	</util:list>
-
 	<!-- specify type for constructor argument -->
 	<bean id="authenticationManager"
 		class="de.ids_mannheim.korap.authentication.KustvaktAuthenticationManager">
diff --git a/full/src/test/java/de/ids_mannheim/korap/config/TestHelper.java b/full/src/test/java/de/ids_mannheim/korap/config/TestHelper.java
index 689ca7b..4a66f9c 100644
--- a/full/src/test/java/de/ids_mannheim/korap/config/TestHelper.java
+++ b/full/src/test/java/de/ids_mannheim/korap/config/TestHelper.java
@@ -99,15 +99,15 @@
         Map m = getUserCredentials();
         assertNotNull("userdatabase handler must not be null", dao);
 
-        try {
-            manager.createUserAccount(m, false);
-        }
-        catch (KustvaktException e) {
-            throw new RuntimeException(e);
-            /*// do nothing
-            jlog.error("Error: {}", e.string());
-            assertNotNull("Test user could not be set up", null);*/
-        }
+//        try {
+//            manager.createUserAccount(m, false);
+//        }
+//        catch (KustvaktException e) {
+//            throw new RuntimeException(e);
+//            /*// do nothing
+//            jlog.error("Error: {}", e.string());
+//            assertNotNull("Test user could not be set up", null);*/
+//        }
         assertNotEquals(0, dao.size());
         return this;
     }
diff --git a/full/src/test/resources/test-config.xml b/full/src/test/resources/test-config.xml
index 00361de..d597eb4 100644
--- a/full/src/test/resources/test-config.xml
+++ b/full/src/test/resources/test-config.xml
@@ -282,10 +282,6 @@
 		<ref bean="userdata_settings" />
 	</util:list>
 
-	<util:list id="kustvakt_resources"
-		value-type="de.ids_mannheim.korap.interfaces.db.ResourceOperationIface">
-	</util:list>
-
 	<!-- specify type for constructor argument -->
 	<bean id="authenticationManager"
 		class="de.ids_mannheim.korap.authentication.KustvaktAuthenticationManager">
diff --git a/lite/src/main/java/de/ids_mannheim/korap/authentication/DummyAuthenticationManager.java b/lite/src/main/java/de/ids_mannheim/korap/authentication/DummyAuthenticationManager.java
index 06cbf5f..cd8f02c 100644
--- a/lite/src/main/java/de/ids_mannheim/korap/authentication/DummyAuthenticationManager.java
+++ b/lite/src/main/java/de/ids_mannheim/korap/authentication/DummyAuthenticationManager.java
@@ -84,13 +84,6 @@
     }
 
     @Override
-    public User createUserAccount (Map<String, Object> attributes,
-            boolean confirmation_required) throws KustvaktException {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    @Override
     public boolean deleteAccount (User user) throws KustvaktException {
         // TODO Auto-generated method stub
         return false;
@@ -110,27 +103,6 @@
     }
 
     @Override
-    public Object[] validateResetPasswordRequest (String username, String email)
-            throws KustvaktException {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    @Override
-    public void resetPassword (String uriFragment, String username,
-            String newPassphrase) throws KustvaktException {
-        // TODO Auto-generated method stub
-
-    }
-
-    @Override
-    public void confirmRegistration (String uriFragment, String username)
-            throws KustvaktException {
-        // TODO Auto-generated method stub
-
-    }
-
-    @Override
     public User getUser (String username, String method)
             throws KustvaktException {
         // TODO Auto-generated method stub