head	1.4;
access;
symbols;
locks; strict;
comment	@# @;


1.4
date	2001.08.02.22.47.42;	author leonardr;	state Exp;
branches;
next	1.3;

1.3
date	2001.07.30.18.09.07;	author dlr;	state Exp;
branches;
next	1.2;

1.2
date	2001.07.27.22.56.19;	author stack;	state Exp;
branches;
next	1.1;

1.1
date	2001.07.27.19.18.00;	author leonardr;	state Exp;
branches;
next	;


desc
@@


1.4
log
@New database user with read-only access to the Tigris database. Used to control access for the new ad hoc query feature and the XML-RPC handlers.
@
text
@/* ================================================================
 * Copyright (c) 2001 CollabNet.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * 1. Redistributions of source code must retain the above copyright
 * notice, this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 *
 * 3. The end-user documentation included with the redistribution, if
 * any, must include the following acknowlegement: "This product includes
 * software developed by CollabNet <http://www.collab.net/>."
 * Alternately, this acknowlegement may appear in the software itself, if
 * and wherever such third-party acknowlegements normally appear.
 *
 * 4. The hosted project names must not be used to endorse or promote
 * products derived from this software without prior written
 * permission. For written permission, please contact info@@collab.net.
 *
 * 5. Products derived from this software may not use the "Tigris" or
 * "Helm" names nor may "Tigris" or "Helm" appear in their names without
 * prior written permission of CollabNet.
 *
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL COLLABNET OR ITS CONTRIBUTORS BE LIABLE FOR ANY
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
 * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * ====================================================================
 *
 * This software consists of voluntary contributions made by many
 * individuals on behalf of CollabNet.
 */

package org.tigris.helm.tool.handler;

import java.util.*;

import org.apache.turbine.util.Log;

import org.tigris.helm.om.*;
import org.tigris.helm.tool.HelmProperties;

/**
 * Base class for <a href="http://xml-rpc.com/">XML-RPC</a> handlers.
 *
 * @@author <a href="mailto:leonardr@@collab.net">Leonard Richardson</a>
 */
public abstract class HelmHandler
{
    /**
     * Does minimal validation for using the XML-RPC service: throws
     * an exception if given other than the magic string.
     */
    protected void validateAuth(String auth)
        throws Exception
    {
        String dbPassword =
            (String) HelmProperties.getProperty("databaseReadOnlyPassword");
        if (!dbPassword.equals(auth))
        {
            throw new Exception
                ("Invalid authorization to use XML-RPC service.");
        }
    }
}
@


1.3
log
@Added link to JavaDoc.
@
text
@d71 1
a71 1
            (String) HelmProperties.getProperty("databasePassword");     
@


1.2
log
@Package name didn't sync w/ location.
@
text
@d57 1
a57 1
 * Base class for XML-RPC permission handlers
d61 1
a61 1
abstract public class HelmHandler
@


1.1
log
@Factored out user code into a separate XML-RPC handler.
@
text
@d47 1
a47 1
package org.tigris.helm.security;
@

