All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.novell.services.dsml.Authorization Maven / Gradle / Ivy

There is a newer version: 2009-10-07
Show newest version
/* **************************************************************************
 * $OpenLDAP: pkg/jldap/com/novell/services/dsml/Authorization.java,v 1.1 2003/02/10 21:40:08 vtag Exp $
 *
 * Copyright (C) 2003 Novell, Inc. All Rights Reserved.
 *
 * THIS WORK IS SUBJECT TO U.S. AND INTERNATIONAL COPYRIGHT LAWS AND
 * TREATIES. USE, MODIFICATION, AND REDISTRIBUTION OF THIS WORK IS SUBJECT
 * TO VERSION 2.0.1 OF THE OPENLDAP PUBLIC LICENSE, A COPY OF WHICH IS
 * AVAILABLE AT HTTP://WWW.OPENLDAP.ORG/LICENSE.HTML OR IN THE FILE "LICENSE"
 * IN THE TOP-LEVEL DIRECTORY OF THE DISTRIBUTION. ANY USE OR EXPLOITATION
 * OF THIS WORK OTHER THAN AS AUTHORIZED IN VERSION 2.0.1 OF THE OPENLDAP
 * PUBLIC LICENSE, OR OTHER PRIOR WRITTEN CONSENT FROM NOVELL, COULD SUBJECT
 * THE PERPETRATOR TO CRIMINAL AND CIVIL LIABILITY.
 ******************************************************************************/
package com.novell.services.dsml;
import javax.servlet.http.HttpServletRequest;
import com.novell.ldap.util.Base64;

/**
 * Authorization - grab authorization information out of HTTPServletRequest.
 */
public class Authorization
{
    String auth = null;
    String password = null;
    String dn = null;

    /**
     * Creates an anonymously authorized object.
     */
    public Authorization(){
        super();
    }

    /**
     * Authorization.
     *
     * 

Parse an HttpServletRequest and get the Authorization DN and password. *

* @param req HttpServletRequest. */ public Authorization(HttpServletRequest req) { // Get Authorization header String tmp = req.getHeader("Authorization"); // If there is Authorization header if(null != tmp && 0 != tmp.length()) { tmp = tmp.trim(); if(null != tmp && 0 != tmp.length()) { // See if it is base 64. // This is the only one we handle right now. if (tmp.startsWith("Basic ")) { // Remove the Basic string. tmp = tmp.substring(6); if(null != tmp && 0 != tmp.length()) { // Do base 64 decoding. tmp = new String(Base64.decode(tmp)); if(null != tmp && 0 != tmp.length()) auth = tmp; } } } } if(null != auth) { int i = auth.indexOf( ':' ); // If No colon, if ( i < 0 ) { // Then auth is all DN dn = auth; } else { dn = auth.substring( 0, i); password = auth.substring(i+1); password = password.trim(); } dn = dn.trim(); } // Set password to null if empty if(password != null && password.length() == 0) password = null; // Set dn to null if empty if(dn != null && dn.length() == 0) dn = null; } /** * getAuth. * *

Get authorization string.

*/ public String getAuth() { return auth; } /** * getDN. * *

Get DN string.

*/ public String getDN() { return dn; } /** * getPassword. * *

Get password string.

*/ public String getPassword() { return password; } /** * getPasswordBytes. * *

Get password as bytes.

*/ public byte[] getPasswordBytes() { if(null == password) return null; else return password.getBytes(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy