package org.verisign.joid.server; import java.util.HashMap; import java.util.Map; /** * User: treeder * Date: Jul 17, 2007 * Time: 5:33:31 PM */ public class MemoryUserManager implements UserManager { private Map/*<String, User>*/ userMap = new HashMap(); private Map/*<String, String>*/ rememberMeMap = new HashMap(); public User getUser(String username) { return (User) userMap.get(username); } public void save(User user) { userMap.put(user.getUsername(), user); } public void remember(String username, String authKey) { rememberMeMap.put(username, authKey); } public String getRememberedUser(String username, String authKey) { if (username == null || authKey == null) return null; String auth = (String) rememberMeMap.get(username); if (auth != null) { if (authKey.equals(auth)) { // then we have a match return username; } } return null; } /** * * * @param username * @param claimedId * @return */ public boolean canClaim(String username, String claimedId) { String usernameFromClaimedId = claimedId.substring(claimedId.lastIndexOf("/") + 1); if (username.equals(usernameFromClaimedId)) { return true; } return false; } }