Class AbstractDirectoryConfiguration

  • All Implemented Interfaces:
    com.identity4j.connector.ConnectorConfigurationParameters
    Direct Known Subclasses:
    DirectoryConfiguration

    public abstract class AbstractDirectoryConfiguration
    extends com.identity4j.connector.AbstractConnectorConfiguration
    • Constructor Detail

      • AbstractDirectoryConfiguration

        public AbstractDirectoryConfiguration​(com.identity4j.util.MultiMap configurationParameters)
        Parameters:
        configurationParameters -
    • Method Detail

      • getControllerHosts

        public final String[] getControllerHosts()

        The host name or IP address of the directory to connect to. If an IP address is used this should be in dotted decimal notation. Otherwise the fully qualified hostname should be specified in the standard dns format

        Examples: 192.168.1.200:443, 192.168.1.200 or host.directory.com

        Returns:
        controller hosts
      • getControllerHostnames

        public final String[] getControllerHostnames()

        The host name or IP address of the directory to connect to, without the port number if one is set. If an IP address is used this should be in dotted decimal notation. Otherwise the fully qualified hostname should be specified in the standard dns format

        Examples: 192.168.1.200 or host.directory.com

        Returns:
        controller hosts
      • getIncludes

        public Collection<Name> getIncludes()
        Get a list of distinguished names to exclude from the search. These are relative to the Base DN. If the list is empty, all paths should be included unless explicit excludes have been set.
        Returns:
        paths to exclude
        Throws:
        InvalidNameException
      • getExcludes

        public Collection<Name> getExcludes()
        Get a list of distinguished names to exclude from the search. These are relative to the Base DN. If the list is empty, all paths should be included unless explicit includes have been set.
        Returns:
        paths to exclude
        Throws:
        InvalidNameException
      • getIncludedRolesDN

        public Set<String> getIncludedRolesDN()
      • getExcludedRolesDN

        public Set<String> getExcludedRolesDN()
      • getIncludedRoles

        public Set<String> getIncludedRoles()
      • getExcludedRoles

        public Set<String> getExcludedRoles()
      • isEnableRoles

        public boolean isEnableRoles()
        Get if roles should be enabled at all.
        Returns:
        reconcile roles
      • buildProviderUrls

        protected String[] buildProviderUrls​(String... controllerHosts)
      • getControllerHostWithoutPort

        protected static final String getControllerHostWithoutPort​(String value)
      • getServiceAuthenticationType

        public final String getServiceAuthenticationType()
        The service authentication mechanism to use, the default is simple. This value is used when for the javax.naming.Context.SECURITY_AUTHENTICATION parameter when performing service activities e.g. listing and managing principals.
        Returns:
        service authentication type
      • requiresServiceAuthentication

        public final boolean requiresServiceAuthentication()
      • getSecurityProtocol

        public final String getSecurityProtocol()
        The security protocol to use, this defaults to SSL. This value is used for the javax.naming.Context.SECURITY_PROTOCOL parameter.
        Returns:
        security protocol
      • isFollowReferrals

        public final boolean isFollowReferrals()
        Should referrals be followed. The Manage Referral control (RFC 3296) tells the LDAP server to return referral entries as ordinary entries (instead of returning "referral" error responses or continuation references). If you are using the LDAP v3 and have set Context.REFERRAL to "ignore", then the LDAP service provider will automatically send this control along with the request. If you are using the LDAP v2, then the control will not be sent because it is not applicable in that protocol. When you set Context.REFERRAL to any other value, the control will not be sent regardless of the protocol version.
        Returns:
        follow referrals
      • getInitialContextFactory

        public final String getInitialContextFactory()
        The initial context factory to use, the defaults is com.sun.jndi.ldap.LdapCtxFactory. This value is used for the javax.naming.Context.INITIAL_CONTEXT_FACTORY parameter.
        Returns:
        initial context factory
      • getTimeout

        public final int getTimeout()
        The value to use for com.sun.jndi.ldap.connect.timeout, the default is 30.
        Returns:
        initial context factory
      • getMaxPageSize

        public int getMaxPageSize()
        The maximum size of the page to return when using paged queries.
        Returns:
        maximum page size
      • getVersion

        public final String getVersion()
        The value to use for java.naming.ldap.version, the default is 3.
        Returns:
        initial context factory
      • getBaseDn

        public final Name getBaseDn()
        The base dn of the directory to connect to.
        Returns:
        base dn
      • getServiceAccountDn

        public final String getServiceAccountDn()

        The connector performs all operations on the directory using this account. The distinguished name of this account should be supplied in LDAP format, that is, with the Common Name (cn) of the account first followed by the container in which this account resides, then that container's container etc. The elements of the distinguished name should be separated using commas.

        For example: cn=admin,ou=employee,o=root

        This value is used for the javax.naming.Context.SECURITY_PRINCIPAL
        Returns:
        service account dn
      • getServiceAccountPassword

        public final String getServiceAccountPassword()

        The password used for the service account @see getServiceAccountDn()

        Returns:
        service account password
      • getIdentityObjectClass

        public final String getIdentityObjectClass()
        The class name required for an object to be considered an identity.
        Returns:
        identity object class
      • getIdentityCreationObjectClasses

        public final List<String> getIdentityCreationObjectClasses()
        The class names required for an identity to be created.
        Returns:
        identity object class
      • getIdentityNameAttribute

        public final String getIdentityNameAttribute()
        The attribute name which is used to match against the identity username.
        Returns:
        identity name attribute
      • getIdentityGuidAttribute

        public final String getIdentityGuidAttribute()
        The attribute name which is used to match against the identity guid.
        Returns:
        identity guid attribute
      • getIdentityRoleGuidAttribute

        public final String getIdentityRoleGuidAttribute()
        The attribute name which is used to provide the identities primary role GUID.
        Returns:
        identity role guid attribute
      • getIdentityRoleNameAttribute

        public final String getIdentityRoleNameAttribute()
        The attribute name which is used to provide the identities primary role name.
        Returns:
        identity role name attribute
      • getIdentityPasswordAttribute

        public final String getIdentityPasswordAttribute()
        The attribute name which is used to set the identity password.
        Returns:
        password attribute
      • getDistinguishedNameAttribute

        public final String getDistinguishedNameAttribute()
        The attribute name which contains the distinguished name.
        Returns:
        distinguished name attribute
      • getIdentityPasswordEncoding

        public final String getIdentityPasswordEncoding()
        The type of password encoding used for this directory.
        Returns:
        password encoding type
      • getRoleObjectClass

        public final String getRoleObjectClass()
        The class name required for an object to be considered a role.
        Returns:
        role object class
      • getRoleNameAttribute

        public final String getRoleNameAttribute()
        The attribute name which is used to match against the role name.
        Returns:
        role name attribute
      • getRoleGuidAttribute

        public final String getRoleGuidAttribute()
        The attribute name which is used to match against the role name guid.
        Returns:
        role name guid attribute
      • getConnectorConfigurationParameters

        public final Map<String,​String> getConnectorConfigurationParameters()
      • getProviderURLList

        public String[] getProviderURLList()
      • buildProviderUrl

        public String buildProviderUrl​(boolean ssl,
                                       String... controllerHosts)
      • getInitialConfigurationParameters

        protected Map<String,​String> getInitialConfigurationParameters()
      • getUsernameHint

        public String getUsernameHint()
      • getHostnameHint

        public String getHostnameHint()
      • getReadTimeout

        public int getReadTimeout()
      • getOU

        public String getOU()
      • isFilteredByRolePrincipalName

        public boolean isFilteredByRolePrincipalName()
      • isFilteredByRoleDistinguishedName

        public boolean isFilteredByRoleDistinguishedName()
      • isFilteredByRole

        public boolean isFilteredByRole()