Class ExoIdentityStoreConfigurationContext

java.lang.Object
org.picketlink.idm.impl.configuration.ExoIdentityStoreConfigurationContext
All Implemented Interfaces:
org.picketlink.idm.spi.configuration.IdentityConfigurationContext, org.picketlink.idm.spi.configuration.IdentityStoreConfigurationContext

public class ExoIdentityStoreConfigurationContext extends Object implements org.picketlink.idm.spi.configuration.IdentityStoreConfigurationContext
This class is a wrapper for PicketLink IdentityStoreConfigurationContext class. It allows to change/enrich the default configuration dynamically at startup. It is used to:
  • add custom attributes for users and groups defined by properties:
    • exo.ldap.users.attributes.custom.names: comma-separated list of names of new custom attributes for users
    • exo.ldap.groups.attributes.custom.names: comma-separated list of names of new custom attributes for groups
    • exo.ldap.{users|groups}.attributes.custom.{name}.mapping: name of the LDAP attribute mapped with the custom attribute (defaults to the attribute name)
    • exo.ldap.{users|groups}.attributes.custom.{name}.type: type of the LDAP attribute mapped with the custom attribute, can be "text" or "binary" (defaults to "text")
    • exo.ldap.{users|groups}.attributes.custom.{name}.isRequired: is the custom attribute mandatory ? (defaults to false)
    • exo.ldap.{users|groups}.attributes.custom.{name}.isMultivalued: is the custom attribute multi-valued ? (defaults to false)
  • convert ctxDNs to support semicolon-separated format:
    • multiple <value> tags can still be used to define several DNs
    • for each value, a semicolon-separated list of DNs can be used (for example "ou=users1,dc=company,dc=org;ou=users2,dc=company,dc=org")
  • Field Details

  • Constructor Details

    • ExoIdentityStoreConfigurationContext

      public ExoIdentityStoreConfigurationContext(org.picketlink.idm.spi.configuration.IdentityStoreConfigurationContext identityStoreConfigurationContext)
  • Method Details

    • getStoreConfigurationMetaData

      public org.picketlink.idm.spi.configuration.metadata.IdentityStoreConfigurationMetaData getStoreConfigurationMetaData()
      Specified by:
      getStoreConfigurationMetaData in interface org.picketlink.idm.spi.configuration.IdentityStoreConfigurationContext
    • enrichAttributes

      protected List<org.picketlink.idm.spi.configuration.metadata.IdentityObjectAttributeMetaData> enrichAttributes(org.picketlink.idm.spi.configuration.metadata.IdentityObjectTypeMetaData supportedIdentityType)
    • convertCtxDNs

      protected List<String> convertCtxDNs(org.picketlink.idm.spi.configuration.metadata.IdentityObjectTypeMetaData supportedIdentityType)
    • getConfigurationMetaData

      public org.picketlink.idm.spi.configuration.metadata.IdentityConfigurationMetaData getConfigurationMetaData()
      Specified by:
      getConfigurationMetaData in interface org.picketlink.idm.spi.configuration.IdentityConfigurationContext
    • getConfigurationRegistry

      public org.picketlink.idm.spi.configuration.IdentityConfigurationContextRegistry getConfigurationRegistry()
      Specified by:
      getConfigurationRegistry in interface org.picketlink.idm.spi.configuration.IdentityConfigurationContext