Interface LdapPassThroughAuthenticationPolicyCfgClient

    • Method Detail

      • getCachedPasswordStorageScheme

        ValueOrExpression<String> getCachedPasswordStorageScheme()
        Gets the "cached-password-storage-scheme" property.

        Specifies the name of a password storage scheme which should be used for encoding cached passwords.

        Changing the password storage scheme will cause all existing cached passwords to be discarded.

        Default value is undefined

        Returns:
        Returns the value of the "cached-password-storage-scheme" property.
      • setCachedPasswordStorageScheme

        void setCachedPasswordStorageScheme​(ValueOrExpression<String> value)
                                     throws PropertyException
        Sets the "cached-password-storage-scheme" property.

        Specifies the name of a password storage scheme which should be used for encoding cached passwords.

        Changing the password storage scheme will cause all existing cached passwords to be discarded.

        Parameters:
        value - The value of the "cached-password-storage-scheme" property.
        Throws:
        PropertyException - If the new value is invalid.
      • getCachedPasswordTtl

        ValueOrExpression<Long> getCachedPasswordTtl()
        Gets the "cached-password-ttl" property.

        Specifies the maximum length of time that a locally cached password may be used for authentication before it is refreshed from the remote LDAP service.

        This property represents a cache timeout. Increasing the timeout period decreases the frequency that bind operations are delegated to the remote LDAP service, but increases the risk of users authenticating using stale passwords. Note that authentication attempts which fail because the provided password does not match the locally cached password will always be retried against the remote LDAP service.

        Default value: 8 hours

        Returns:
        Returns the value of the "cached-password-ttl" property.
      • setCachedPasswordTtl

        void setCachedPasswordTtl​(ValueOrExpression<Long> value)
                           throws PropertyException
        Sets the "cached-password-ttl" property.

        Specifies the maximum length of time that a locally cached password may be used for authentication before it is refreshed from the remote LDAP service.

        This property represents a cache timeout. Increasing the timeout period decreases the frequency that bind operations are delegated to the remote LDAP service, but increases the risk of users authenticating using stale passwords. Note that authentication attempts which fail because the provided password does not match the locally cached password will always be retried against the remote LDAP service.

        Parameters:
        value - The value of the "cached-password-ttl" property.
        Throws:
        PropertyException - If the new value is invalid.
      • getConnectionTimeout

        ValueOrExpression<Long> getConnectionTimeout()
        Gets the "connection-timeout" property.

        Specifies the timeout used when connecting to remote LDAP directory servers, performing SSL negotiation, and for individual search and bind requests.

        If the timeout expires then the current operation will be aborted and retried against another LDAP server if one is available.

        Default value: 3 seconds

        Returns:
        Returns the value of the "connection-timeout" property.
      • setConnectionTimeout

        void setConnectionTimeout​(ValueOrExpression<Long> value)
                           throws PropertyException
        Sets the "connection-timeout" property.

        Specifies the timeout used when connecting to remote LDAP directory servers, performing SSL negotiation, and for individual search and bind requests.

        If the timeout expires then the current operation will be aborted and retried against another LDAP server if one is available.

        Parameters:
        value - The value of the "connection-timeout" property.
        Throws:
        PropertyException - If the new value is invalid.
      • getJavaClass

        @MandatoryProperty
        ValueOrExpression<String> getJavaClass()
        Gets the "java-class" property.

        Specifies the fully-qualified name of the Java class which provides the LDAP Pass Through Authentication Policy implementation.

        Default value: org.opends.server.extensions.LDAPPassThroughAuthenticationPolicyFactory

        Specified by:
        getJavaClass in interface AuthenticationPolicyCfgClient
        Returns:
        Returns the value of the "java-class" property.
      • getMappedAttribute

        SortedSet<ValueOrExpression<AttributeType>> getMappedAttribute()
        Gets the "mapped-attribute" property.

        Specifies one or more attributes in the user's entry whose value(s) will determine the bind DN used when authenticating to the remote LDAP directory service. This property is mandatory when using the "mapped-bind" or "mapped-search" mapping policies.

        At least one value must be provided. All values must refer to the name or OID of an attribute type defined in the directory server schema. At least one of the named attributes must exist in a user's local entry in order for authentication to proceed. When multiple attributes or values are found in the user's entry then the behavior is determined by the mapping policy.

        Default value is undefined

        Returns:
        Returns the values of the "mapped-attribute" property.
      • setMappedAttribute

        void setMappedAttribute​(Collection<ValueOrExpression<AttributeType>> values)
                         throws PropertyException
        Sets the "mapped-attribute" property.

        Specifies one or more attributes in the user's entry whose value(s) will determine the bind DN used when authenticating to the remote LDAP directory service. This property is mandatory when using the "mapped-bind" or "mapped-search" mapping policies.

        At least one value must be provided. All values must refer to the name or OID of an attribute type defined in the directory server schema. At least one of the named attributes must exist in a user's local entry in order for authentication to proceed. When multiple attributes or values are found in the user's entry then the behavior is determined by the mapping policy.

        Parameters:
        values - The values of the "mapped-attribute" property.
        Throws:
        PropertyException - If one or more of the new values are invalid.
      • getMappedSearchBaseDn

        SortedSet<ValueOrExpression<Dn>> getMappedSearchBaseDn()
        Gets the "mapped-search-base-dn" property.

        Specifies the set of base DNs below which to search for users in the remote LDAP directory service. This property is mandatory when using the "mapped-search" mapping policy.

        If multiple values are given, searches are performed below all specified base DNs.

        Default value is undefined

        Returns:
        Returns the values of the "mapped-search-base-dn" property.
      • setMappedSearchBaseDn

        void setMappedSearchBaseDn​(Collection<ValueOrExpression<Dn>> values)
                            throws PropertyException
        Sets the "mapped-search-base-dn" property.

        Specifies the set of base DNs below which to search for users in the remote LDAP directory service. This property is mandatory when using the "mapped-search" mapping policy.

        If multiple values are given, searches are performed below all specified base DNs.

        Parameters:
        values - The values of the "mapped-search-base-dn" property.
        Throws:
        PropertyException - If one or more of the new values are invalid.
      • getMappedSearchBindDn

        ValueOrExpression<Dn> getMappedSearchBindDn()
        Gets the "mapped-search-bind-dn" property.

        Specifies the bind DN which should be used to perform user searches in the remote LDAP directory service.

        Returns:
        Returns the value of the "mapped-search-bind-dn" property.
      • setMappedSearchBindDn

        void setMappedSearchBindDn​(ValueOrExpression<Dn> value)
                            throws PropertyException
        Sets the "mapped-search-bind-dn" property.

        Specifies the bind DN which should be used to perform user searches in the remote LDAP directory service.

        Parameters:
        value - The value of the "mapped-search-bind-dn" property.
        Throws:
        PropertyException - If the new value is invalid.
      • getMappedSearchBindPassword

        ValueOrExpression<String> getMappedSearchBindPassword()
        Gets the "mapped-search-bind-password" property.

        Specifies the bind password which should be used to perform user searches in the remote LDAP directory service.

        Default value is undefined

        Returns:
        Returns the value of the "mapped-search-bind-password" property.
      • setMappedSearchBindPassword

        void setMappedSearchBindPassword​(ValueOrExpression<String> value)
                                  throws PropertyException
        Sets the "mapped-search-bind-password" property.

        Specifies the bind password which should be used to perform user searches in the remote LDAP directory service.

        Parameters:
        value - The value of the "mapped-search-bind-password" property.
        Throws:
        PropertyException - If the new value is invalid.
      • getMappedSearchFilterTemplate

        ValueOrExpression<String> getMappedSearchFilterTemplate()
        Gets the "mapped-search-filter-template" property.

        If defined, overrides the filter used when searching for the user, substituting %s with the value of the local entry's "mapped-attribute".

        The filter-template may include ZERO or ONE %s substitutions. If multiple mapped-attributes are configured, multiple renditions of this template will be aggregated into one larger filter using an OR (|) operator. An example use-case for this property would be to use a different attribute type on the mapped search. For example, mapped-attribute could be set to "uid" and filter-template to "(samAccountName=%s)". You can also use the filter to restrict search results. For example: " (&(uid=%s)(objectclass=student))"

        Default value is undefined

        Returns:
        Returns the value of the "mapped-search-filter-template" property.
      • setMappedSearchFilterTemplate

        void setMappedSearchFilterTemplate​(ValueOrExpression<String> value)
                                    throws PropertyException
        Sets the "mapped-search-filter-template" property.

        If defined, overrides the filter used when searching for the user, substituting %s with the value of the local entry's "mapped-attribute".

        The filter-template may include ZERO or ONE %s substitutions. If multiple mapped-attributes are configured, multiple renditions of this template will be aggregated into one larger filter using an OR (|) operator. An example use-case for this property would be to use a different attribute type on the mapped search. For example, mapped-attribute could be set to "uid" and filter-template to "(samAccountName=%s)". You can also use the filter to restrict search results. For example: " (&(uid=%s)(objectclass=student))"

        Parameters:
        value - The value of the "mapped-search-filter-template" property.
        Throws:
        PropertyException - If the new value is invalid.
      • getPrimaryRemoteLdapServer

        @MandatoryProperty
        SortedSet<ValueOrExpression<com.forgerock.opendj.util.HostPort>> getPrimaryRemoteLdapServer()
        Gets the "primary-remote-ldap-server" property.

        Specifies the primary list of remote LDAP servers which should be used for pass through authentication.

        If more than one LDAP server is specified then operations may be distributed across them. If all of the primary LDAP servers are unavailable then operations will fail-over to the set of secondary LDAP servers, if defined. When using an IPv6 address as the hostname, put brackets around the address as in "[IPv6Address]:port".

        Returns:
        Returns the values of the "primary-remote-ldap-server" property.
      • setPrimaryRemoteLdapServer

        @MandatoryProperty
        void setPrimaryRemoteLdapServer​(Collection<ValueOrExpression<com.forgerock.opendj.util.HostPort>> values)
                                 throws PropertyException
        Sets the "primary-remote-ldap-server" property.

        Specifies the primary list of remote LDAP servers which should be used for pass through authentication.

        If more than one LDAP server is specified then operations may be distributed across them. If all of the primary LDAP servers are unavailable then operations will fail-over to the set of secondary LDAP servers, if defined. When using an IPv6 address as the hostname, put brackets around the address as in "[IPv6Address]:port".

        Parameters:
        values - The values of the "primary-remote-ldap-server" property.
        Throws:
        PropertyException - If one or more of the new values are invalid.
      • getSecondaryRemoteLdapServer

        SortedSet<ValueOrExpression<com.forgerock.opendj.util.HostPort>> getSecondaryRemoteLdapServer()
        Gets the "secondary-remote-ldap-server" property.

        Specifies the secondary list of remote LDAP servers which should be used for pass through authentication in the event that the primary LDAP servers are unavailable.

        If more than one LDAP server is specified then operations may be distributed across them. Operations will be rerouted to the primary LDAP servers as soon as they are determined to be available. When using an IPv6 address as the hostname, put brackets around the address as in "[IPv6Address]:port".

        Returns:
        Returns the values of the "secondary-remote-ldap-server" property.
      • setSecondaryRemoteLdapServer

        void setSecondaryRemoteLdapServer​(Collection<ValueOrExpression<com.forgerock.opendj.util.HostPort>> values)
                                   throws PropertyException
        Sets the "secondary-remote-ldap-server" property.

        Specifies the secondary list of remote LDAP servers which should be used for pass through authentication in the event that the primary LDAP servers are unavailable.

        If more than one LDAP server is specified then operations may be distributed across them. Operations will be rerouted to the primary LDAP servers as soon as they are determined to be available. When using an IPv6 address as the hostname, put brackets around the address as in "[IPv6Address]:port".

        Parameters:
        values - The values of the "secondary-remote-ldap-server" property.
        Throws:
        PropertyException - If one or more of the new values are invalid.
      • getSourceAddress

        ValueOrExpression<com.forgerock.opendj.util.Host> getSourceAddress()
        Gets the "source-address" property.

        If specified, the server will bind to the address before connecting to the remote server.

        The address must be one assigned to an existing network interface.

        Returns:
        Returns the value of the "source-address" property.
      • setSourceAddress

        void setSourceAddress​(ValueOrExpression<com.forgerock.opendj.util.Host> value)
                       throws PropertyException
        Sets the "source-address" property.

        If specified, the server will bind to the address before connecting to the remote server.

        The address must be one assigned to an existing network interface.

        Parameters:
        value - The value of the "source-address" property.
        Throws:
        PropertyException - If the new value is invalid.
      • getSslCipherSuite

        SortedSet<ValueOrExpression<String>> getSslCipherSuite()
        Gets the "ssl-cipher-suite" property.

        Specifies the names of the SSL cipher suites that are allowed for use in SSL based LDAP connections.

        Returns:
        Returns the values of the "ssl-cipher-suite" property.
      • setSslCipherSuite

        void setSslCipherSuite​(Collection<ValueOrExpression<String>> values)
                        throws PropertyException
        Sets the "ssl-cipher-suite" property.

        Specifies the names of the SSL cipher suites that are allowed for use in SSL based LDAP connections.

        Parameters:
        values - The values of the "ssl-cipher-suite" property.
        Throws:
        PropertyException - If one or more of the new values are invalid.
      • getSslProtocol

        SortedSet<ValueOrExpression<String>> getSslProtocol()
        Gets the "ssl-protocol" property.

        Specifies the names of the SSL protocols which are allowed for use in SSL based LDAP connections.

        Returns:
        Returns the values of the "ssl-protocol" property.
      • setSslProtocol

        void setSslProtocol​(Collection<ValueOrExpression<String>> values)
                     throws PropertyException
        Sets the "ssl-protocol" property.

        Specifies the names of the SSL protocols which are allowed for use in SSL based LDAP connections.

        Parameters:
        values - The values of the "ssl-protocol" property.
        Throws:
        PropertyException - If one or more of the new values are invalid.
      • getTrustManagerProvider

        ValueOrExpression<String> getTrustManagerProvider()
        Gets the "trust-manager-provider" property.

        Specifies the name of the trust manager that should be used when negotiating SSL connections with remote LDAP directory servers.

        Returns:
        Returns the value of the "trust-manager-provider" property.
      • setTrustManagerProvider

        void setTrustManagerProvider​(ValueOrExpression<String> value)
                              throws PropertyException
        Sets the "trust-manager-provider" property.

        Specifies the name of the trust manager that should be used when negotiating SSL connections with remote LDAP directory servers.

        Parameters:
        value - The value of the "trust-manager-provider" property.
        Throws:
        PropertyException - If the new value is invalid.
      • isUsePasswordCaching

        @MandatoryProperty
        ValueOrExpression<Boolean> isUsePasswordCaching()
        Gets the "use-password-caching" property.

        Indicates whether passwords should be cached locally within the user's entry.

        Default value: false

        Returns:
        Returns the value of the "use-password-caching" property.
      • setUsePasswordCaching

        @MandatoryProperty
        void setUsePasswordCaching​(ValueOrExpression<Boolean> value)
                            throws PropertyException
        Sets the "use-password-caching" property.

        Indicates whether passwords should be cached locally within the user's entry.

        Parameters:
        value - The value of the "use-password-caching" property.
        Throws:
        PropertyException - If the new value is invalid.
      • isUseSsl

        ValueOrExpression<Boolean> isUseSsl()
        Gets the "use-ssl" property.

        Indicates whether the LDAP Pass Through Authentication Policy should use SSL.

        If enabled, the LDAP Pass Through Authentication Policy will use SSL to encrypt communication with the clients.

        Default value: false

        Returns:
        Returns the value of the "use-ssl" property.
      • setUseSsl

        void setUseSsl​(ValueOrExpression<Boolean> value)
                throws PropertyException
        Sets the "use-ssl" property.

        Indicates whether the LDAP Pass Through Authentication Policy should use SSL.

        If enabled, the LDAP Pass Through Authentication Policy will use SSL to encrypt communication with the clients.

        Parameters:
        value - The value of the "use-ssl" property.
        Throws:
        PropertyException - If the new value is invalid.
      • isUseTcpKeepAlive

        ValueOrExpression<Boolean> isUseTcpKeepAlive()
        Gets the "use-tcp-keep-alive" property.

        Indicates whether LDAP connections should use TCP keep-alive.

        If enabled, the SO_KEEPALIVE socket option is used to indicate that TCP keepalive messages should periodically be sent to the client to verify that the associated connection is still valid. This may also help prevent cases in which intermediate network hardware could silently drop an otherwise idle client connection, provided that the keepalive interval configured in the underlying operating system is smaller than the timeout enforced by the network hardware.

        Default value: true

        Returns:
        Returns the value of the "use-tcp-keep-alive" property.
      • setUseTcpKeepAlive

        void setUseTcpKeepAlive​(ValueOrExpression<Boolean> value)
                         throws PropertyException
        Sets the "use-tcp-keep-alive" property.

        Indicates whether LDAP connections should use TCP keep-alive.

        If enabled, the SO_KEEPALIVE socket option is used to indicate that TCP keepalive messages should periodically be sent to the client to verify that the associated connection is still valid. This may also help prevent cases in which intermediate network hardware could silently drop an otherwise idle client connection, provided that the keepalive interval configured in the underlying operating system is smaller than the timeout enforced by the network hardware.

        Parameters:
        value - The value of the "use-tcp-keep-alive" property.
        Throws:
        PropertyException - If the new value is invalid.
      • isUseTcpNoDelay

        ValueOrExpression<Boolean> isUseTcpNoDelay()
        Gets the "use-tcp-no-delay" property.

        Indicates whether LDAP connections should use TCP no-delay.

        If enabled, the TCP_NODELAY socket option is used to ensure that response messages to the client are sent immediately rather than potentially waiting to determine whether additional response messages can be sent in the same packet. In most cases, using the TCP_NODELAY socket option provides better performance and lower response times, but disabling it may help for some cases in which the server sends a large number of entries to a client in response to a search request.

        Default value: true

        Returns:
        Returns the value of the "use-tcp-no-delay" property.
      • setUseTcpNoDelay

        void setUseTcpNoDelay​(ValueOrExpression<Boolean> value)
                       throws PropertyException
        Sets the "use-tcp-no-delay" property.

        Indicates whether LDAP connections should use TCP no-delay.

        If enabled, the TCP_NODELAY socket option is used to ensure that response messages to the client are sent immediately rather than potentially waiting to determine whether additional response messages can be sent in the same packet. In most cases, using the TCP_NODELAY socket option provides better performance and lower response times, but disabling it may help for some cases in which the server sends a large number of entries to a client in response to a search request.

        Parameters:
        value - The value of the "use-tcp-no-delay" property.
        Throws:
        PropertyException - If the new value is invalid.