public String authenticate(String userID,String credential)
throws AuthenticationException, FatalErrorException
{
// a userID must be specified.
if (userID == null)
throw new UnknownUserException(new ErrorMessage("errors.auth.InvalidUserId", userID));
// credential (password) must be specified.
if (credential == null)
throw new UnknownUserException(new ErrorMessage("errors.auth.InvalidCredentials"));
if (userTable.containsKey(userID))
{
User user = (User)userTable.get(userID);
if ((user.getPassword() == null) || (!credential.equals(user.getPassword())))
throw new UnknownUserException(new ErrorMessage("errors.auth.InvalidCredentials"));
}
else
throw new UnknownUserException(new ErrorMessage("errors.auth.InvalidUserId", userID));
return userID;
}