Package com.netscape.cms.publish.mappers
Class LdapEnhancedMap
java.lang.Object
com.netscape.cms.publish.mappers.LdapEnhancedMap
- All Implemented Interfaces:
IExtendedPluginInfo
,ILdapMapper
,ILdapPlugin
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
FieldsModifier and TypeFieldDescriptionprotected static final int
static final String
static org.slf4j.Logger
protected String[]
protected ConfigStore
protected boolean
protected String
protected String[]
protected String[]
protected String[]
protected MapDNPattern
protected com.netscape.cms.publish.mappers.AVAPattern[]
protected String[]
protected static final String
protected static final String
protected static final String
protected static final String
protected static final String
protected static final String
Fields inherited from interface com.netscape.certsrv.base.IExtendedPluginInfo
HELP_TEXT, HELP_TOKEN
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionimplementation for extended ILdapPlugin interface methodReturns the initial default parameters.Returns the description of this mapper.String[]
This method returns an array of strings.Returns implementation name.Returns the current instance parameters.void
init
(ConfigStore config) for initializing from config store.protected void
common initialization routine.Maps an X500 subject name to an LDAP entry.Maps an X500 subject name to an LDAP entry.
-
Field Details
-
logger
public static org.slf4j.Logger logger -
mPattern
-
mReqAttrs
-
mCertAttrs
-
mLdapValues
-
PROP_DNPATTERN
- See Also:
-
PROP_CREATE
- See Also:
-
PROP_OBJCLASS
- See Also:
-
PROP_ATTRNUM
- See Also:
-
PROP_ATTR_NAME
- See Also:
-
PROP_ATTR_PATTERN
- See Also:
-
mDnPattern
-
mCreateEntry
protected boolean mCreateEntry -
mLdapNames
-
mLdapPatterns
-
DEFAULT_DNPATTERN
- See Also:
-
DEFAULT_ATTRNUM
protected static final int DEFAULT_ATTRNUM- See Also:
-
mConfig
-
mPatterns
protected com.netscape.cms.publish.mappers.AVAPattern[] mPatterns
-
-
Constructor Details
-
LdapEnhancedMap
public LdapEnhancedMap()Default constructor, initialization must follow.
-
-
Method Details
-
init
common initialization routine.- Throws:
EBaseException
-
init
for initializing from config store. implementation for extended ILdapPlugin interface method- Specified by:
init
in interfaceILdapPlugin
- Parameters:
config
- the configuration store to initialize from.- Throws:
ELdapException
- initialization failed due to Ldap error.EBaseException
- initialization failed.
-
getConfigStore
implementation for extended ILdapPlugin interface method- Specified by:
getConfigStore
in interfaceILdapPlugin
-
getImplName
Description copied from interface:ILdapMapper
Returns implementation name.- Specified by:
getImplName
in interfaceILdapMapper
-
getDescription
Description copied from interface:ILdapMapper
Returns the description of this mapper.- Specified by:
getDescription
in interfaceILdapMapper
-
getDefaultParams
Description copied from interface:ILdapMapper
Returns the initial default parameters.- Specified by:
getDefaultParams
in interfaceILdapMapper
-
getInstanceParams
Description copied from interface:ILdapMapper
Returns the current instance parameters.- Specified by:
getInstanceParams
in interfaceILdapMapper
-
map
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 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
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 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
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 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 interfaceIExtendedPluginInfo
-