core:AttributeValueMap

Filter that creates a target attribute based on one or more value(s) in source attribute.

Besides the mapping of source values to target values, the filter has the following options: * %replace can be used to replace all existing values in target with new ones (any existing values will be lost) * %keep can be used to keep the source attribute, otherwise it will be removed.

Examples

Add student affiliation based on LDAP groupmembership

Will add eduPersonAffiliation containing value " student " if the memberOf attribute contains either ' cn=student,o=some,o=organization,dc=org ' or ' cn=student,o=other,o=organization,dc=org '. The ' memberOf ' attribute will be removed (use %keep , to keep it) and existing values in ' eduPersonAffiliation ' will be merged (use %replace to replace them).

  'authproc' => array(
      50 => array(
          'class' => 'core:AttributeValueMap',
          'sourceattribute' => 'memberOf',
          'targetattribute' => 'eduPersonAffiliation',
          'values' => array(
              'student' => array(
                  'cn=student,o=some,o=organization,dc=org',
                  'cn=student,o=other,o=organization,dc=org',
              ),
          ),
      ),
  )

Multiple assignments

Add student , employee and both affiliation based on LDAP groupmembership in the memberOf attribute.

  'authproc' => array(
      50 => array(
          'class' => 'core:AttributeValueMap',
          'sourceattribute' => 'memberOf',
          'targetattribute' => 'eduPersonAffiliation',
          'values' => array(
              'student' => array(
                  'cn=student,o=some,o=organization,dc=org',
                  'cn=student,o=other,o=organization,dc=org',
              ),
              'employee' => array(
                  'cn=employees,o=some,o=organization,dc=org',
                  'cn=employee,o=other,o=organization,dc=org',
                  'cn=workers,o=any,o=organization,dc=org',
              ),
              'both' => array(
                  'cn=student,o=some,o=organization,dc=org',
                  'cn=student,o=other,o=organization,dc=org',
                  'cn=employees,o=some,o=organization,dc=org',
                  'cn=employee,o=other,o=organization,dc=org',
                  'cn=workers,o=any,o=organization,dc=org',
              ),
          ),
      ),
  )

Replace and Keep

Replace any existing ' affiliation ' attribute values and keep the ' groups ' attribute.

  'authproc' => array(
      50 => array(
          'class' => 'core:AttributeValueMap',
          'sourceattribute' => 'groups',
          'targetattribute' => 'affiliation',
          '%replace',
          '%keep',
          'values' => array(
              'student' => array(
                  'cn=student,o=some,o=organization,dc=org',
                  'cn=student,o=other,o=organization,dc=org',
              ),
              'employee' => array(
                  'cn=employees,o=some,o=organization,dc=org',
                  'cn=employee,o=other,o=organization,dc=org',
                  'cn=workers,o=any,o=organization,dc=org',
              ),
          ),
      ),
  )