Class LdapEnhancedMap

  • All Implemented Interfaces:
    IExtendedPluginInfo, ILdapMapper, ILdapPlugin

    public class LdapEnhancedMap
    extends java.lang.Object
    implements ILdapMapper, IExtendedPluginInfo
    Maps a request to an entry in the LDAP server. Takes a dnPattern to form the baseDN from the request attributes and certificate subject name. Does a base search for the entry in the directory to publish the cert or crl. The restriction of this mapper is that the ldap dn components must be part of certificate subject name or request attributes or constant. The difference of this mapper and LdapSimpleMap is that if the ldap entry is not found, it has the option to create the ldap entry given the dn and attributes formulated.
    Version:
    $Revision$, $Date$
    • Field Detail

      • mReqAttrs

        protected java.lang.String[] mReqAttrs
      • mCertAttrs

        protected java.lang.String[] mCertAttrs
      • mLdapValues

        protected java.lang.String[] mLdapValues
      • PROP_ATTR_PATTERN

        protected static final java.lang.String PROP_ATTR_PATTERN
        See Also:
        Constant Field Values
      • mDnPattern

        protected java.lang.String mDnPattern
      • mCreateEntry

        protected boolean mCreateEntry
      • mLdapNames

        protected java.lang.String[] mLdapNames
      • mLdapPatterns

        protected java.lang.String[] mLdapPatterns
      • DEFAULT_DNPATTERN

        public static final java.lang.String DEFAULT_DNPATTERN
        See Also:
        Constant Field Values
      • mPatterns

        protected com.netscape.cms.publish.mappers.AVAPattern[] mPatterns
    • Constructor Detail

      • LdapEnhancedMap

        public LdapEnhancedMap()
        Default constructor, initialization must follow.
    • Method Detail

      • init

        public void init​(IConfigStore config)
                  throws EBaseException
        for initializing from config store. implementation for extended ILdapPlugin interface method
        Specified by:
        init in interface ILdapPlugin
        Parameters:
        config - the configuration store to initialize from.
        Throws:
        ELdapException - initialization failed due to Ldap error.
        EBaseException - initialization failed.
      • getImplName

        public java.lang.String getImplName()
        Description copied from interface: ILdapMapper
        Returns implementation name.
        Specified by:
        getImplName in interface ILdapMapper
      • getDescription

        public java.lang.String getDescription()
        Description copied from interface: ILdapMapper
        Returns the description of this mapper.
        Specified by:
        getDescription in interface ILdapMapper
      • getDefaultParams

        public java.util.Vector<java.lang.String> getDefaultParams()
        Description copied from interface: ILdapMapper
        Returns the initial default parameters.
        Specified by:
        getDefaultParams in interface ILdapMapper
      • getInstanceParams

        public java.util.Vector<java.lang.String> getInstanceParams()
        Description copied from interface: ILdapMapper
        Returns the current instance parameters.
        Specified by:
        getInstanceParams in interface ILdapMapper
      • map

        public java.lang.String map​(netscape.ldap.LDAPConnection conn,
                                    java.lang.Object obj)
                             throws ELdapException
        Maps an X500 subject name to an LDAP entry. Uses DN pattern to form a DN for an LDAP base search.
        Specified by:
        map in interface ILdapMapper
        Parameters:
        conn - the LDAP connection.
        obj - the object to map.
        Returns:
        dn indicates whether a mapping was successful
        Throws:
        ELdapException - if any LDAP exceptions occurred.
      • map

        public java.lang.String map​(netscape.ldap.LDAPConnection conn,
                                    IRequest req,
                                    java.lang.Object obj)
                             throws ELdapException
        Maps an X500 subject name to an LDAP entry. Uses DN pattern to form a DN for an LDAP base search.
        Specified by:
        map in interface ILdapMapper
        Parameters:
        conn - the LDAP connection.
        req - the request to map.
        obj - the object to map.
        Returns:
        dn indicates whether a mapping was successful
        Throws:
        ELdapException - if any LDAP exceptions occurred.
      • getExtendedPluginInfo

        public java.lang.String[] getExtendedPluginInfo​(java.util.Locale locale)
        Description copied from interface: IExtendedPluginInfo
        This method returns an array of strings. Each element of the array represents a configurable parameter, or some other meta-info (such as help-token) there is an entry indexed on that parameter name ;[,required];;... Where: type_info is either 'string', 'number', 'boolean', 'password' or 'choice(ch1,ch2,ch3,...)' If the marker 'required' is included after the type_info, the parameter will has some visually distinctive marking in the UI. 'description' is a short sentence describing the parameter 'choice' is rendered as a drop-down list. The first parameter in the list will be activated by default 'boolean' is rendered as a checkbox. The resulting parameter will be either 'true' or 'false' 'string' allows any characters 'number' allows only numbers 'password' is rendered as a password field (the characters are replaced with *'s when being types. This parameter is not passed through to the plugin. It is instead inserted directly into the password cache keyed on the instance name. The value of the parameter 'bindPWPrompt' (see example below) is set to the key. In addition to the configurable parameters, the following magic parameters may be defined: HELP_TOKEN;helptoken - a pointer to the online manual section for this plugin HELP_TEXT;helptext - a general help string describing the plugin For example: "username;string;The username you wish to login as" "bindPWPrompt;password;Enter password to bind as above user with" "algorithm;choice(RSA,DSA);Which algorithm do you want to use" "enable;boolean;Do you want to run this plugin" "port;number;Which port number do you want to use"
        Specified by:
        getExtendedPluginInfo in interface IExtendedPluginInfo