Package com.netscape.cms.publish.mappers
Class LdapEnhancedMap
- java.lang.Object
-
- com.netscape.cms.publish.mappers.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 Summary
Fields Modifier and Type Field Description protected static intDEFAULT_ATTRNUMstatic java.lang.StringDEFAULT_DNPATTERNstatic org.slf4j.Loggerloggerprotected java.lang.String[]mCertAttrsprotected IConfigStoremConfigprotected booleanmCreateEntryprotected java.lang.StringmDnPatternprotected java.lang.String[]mLdapNamesprotected java.lang.String[]mLdapPatternsprotected java.lang.String[]mLdapValuesprotected MapDNPatternmPatternprotected com.netscape.cms.publish.mappers.AVAPattern[]mPatternsprotected java.lang.String[]mReqAttrsprotected static java.lang.StringPROP_ATTR_NAMEprotected static java.lang.StringPROP_ATTR_PATTERNprotected static java.lang.StringPROP_ATTRNUMprotected static java.lang.StringPROP_CREATEprotected static java.lang.StringPROP_DNPATTERNprotected static java.lang.StringPROP_OBJCLASS-
Fields inherited from interface com.netscape.certsrv.base.IExtendedPluginInfo
HELP_TEXT, HELP_TOKEN
-
-
Constructor Summary
Constructors Constructor Description LdapEnhancedMap()Default constructor, initialization must follow.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IConfigStoregetConfigStore()implementation for extended ILdapPlugin interface methodjava.util.Vector<java.lang.String>getDefaultParams()Returns the initial default parameters.java.lang.StringgetDescription()Returns the description of this mapper.java.lang.String[]getExtendedPluginInfo(java.util.Locale locale)This method returns an array of strings.java.lang.StringgetImplName()Returns implementation name.java.util.Vector<java.lang.String>getInstanceParams()Returns the current instance parameters.voidinit(IConfigStore config)for initializing from config store.protected voidinit(java.lang.String dnPattern)common initialization routine.java.lang.Stringmap(netscape.ldap.LDAPConnection conn, IRequest req, java.lang.Object obj)Maps an X500 subject name to an LDAP entry.java.lang.Stringmap(netscape.ldap.LDAPConnection conn, java.lang.Object obj)Maps an X500 subject name to an LDAP entry.
-
-
-
Field Detail
-
logger
public static org.slf4j.Logger logger
-
mPattern
protected MapDNPattern mPattern
-
mReqAttrs
protected java.lang.String[] mReqAttrs
-
mCertAttrs
protected java.lang.String[] mCertAttrs
-
mLdapValues
protected java.lang.String[] mLdapValues
-
PROP_DNPATTERN
protected static final java.lang.String PROP_DNPATTERN
- See Also:
- Constant Field Values
-
PROP_CREATE
protected static final java.lang.String PROP_CREATE
- See Also:
- Constant Field Values
-
PROP_OBJCLASS
protected static final java.lang.String PROP_OBJCLASS
- See Also:
- Constant Field Values
-
PROP_ATTRNUM
protected static final java.lang.String PROP_ATTRNUM
- See Also:
- Constant Field Values
-
PROP_ATTR_NAME
protected static final java.lang.String PROP_ATTR_NAME
- See Also:
- Constant Field Values
-
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
-
DEFAULT_ATTRNUM
protected static final int DEFAULT_ATTRNUM
- See Also:
- Constant Field Values
-
mConfig
protected IConfigStore mConfig
-
mPatterns
protected com.netscape.cms.publish.mappers.AVAPattern[] mPatterns
-
-
Method Detail
-
init
protected void init(java.lang.String dnPattern) throws EBaseExceptioncommon initialization routine.- Throws:
EBaseException
-
init
public void init(IConfigStore config) throws EBaseException
for initializing from config store. implementation for extended ILdapPlugin interface method- Specified by:
initin interfaceILdapPlugin- Parameters:
config- the configuration store to initialize from.- Throws:
ELdapException- initialization failed due to Ldap error.EBaseException- initialization failed.
-
getConfigStore
public IConfigStore getConfigStore()
implementation for extended ILdapPlugin interface method- Specified by:
getConfigStorein interfaceILdapPlugin
-
getImplName
public java.lang.String getImplName()
Description copied from interface:ILdapMapperReturns implementation name.- Specified by:
getImplNamein interfaceILdapMapper
-
getDescription
public java.lang.String getDescription()
Description copied from interface:ILdapMapperReturns the description of this mapper.- Specified by:
getDescriptionin interfaceILdapMapper
-
getDefaultParams
public java.util.Vector<java.lang.String> getDefaultParams()
Description copied from interface:ILdapMapperReturns the initial default parameters.- Specified by:
getDefaultParamsin interfaceILdapMapper
-
getInstanceParams
public java.util.Vector<java.lang.String> getInstanceParams()
Description copied from interface:ILdapMapperReturns the current instance parameters.- Specified by:
getInstanceParamsin interfaceILdapMapper
-
map
public java.lang.String map(netscape.ldap.LDAPConnection conn, java.lang.Object obj) throws ELdapExceptionMaps an X500 subject name to an LDAP entry. Uses DN pattern to form a DN for an LDAP base search.- Specified by:
mapin interfaceILdapMapper- 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 ELdapExceptionMaps an X500 subject name to an LDAP entry. Uses DN pattern to form a DN for an LDAP base search.- Specified by:
mapin interfaceILdapMapper- 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:IExtendedPluginInfoThis 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:
getExtendedPluginInfoin interfaceIExtendedPluginInfo
-
-