[midPoint] Active Directory quirks

Andrew Morgan morgan at oregonstate.edu
Wed Aug 15 00:02:12 CEST 2018


I ran into a few Active Directory quirks when setting up the 
AdLdapConnector (v1.6).  I think the wiki documentation could be improved.

First, I tried to map an attribute named "legacyExchangeDN", but midPoint 
gave me an error because it isn't in the "user" objectclass:

com.evolveum.midpoint.util.exception.SchemaException: Definition of attribute legacyExchangeDN not found in object class {http://midpoint.evolveum.com/xml/ns/public/resource/instance-3}user as defined in definition of resource:724ba798-90cd-4c5a-bdf7-2ea7f1f6de3b(midPoint AD DEV)

This attribute is allowed on user objects by Active Directory due to the 
weird way AD adds auxiliary objectclasses.  The wiki page 
(https://wiki.evolveum.com/display/midPoint/Active+Directory+with+LDAP+connector) 
mentions this under "Active Directory LDAP Strangeness":

"The objects can easily have attributes that are not defined in any object 
classes that they have. E.g. a normal user (the user object class) may 
have attribute info. If such extra attributes are used in your AD instance 
then the best way is to define them explicitly in Resource Schema 
Handling."

I couldn't find any mention how to define them on the Resource Schema 
Handling wiki page.  However, I found the workaround in MID-3379 
(https://jira.evolveum.com/browse/MID-3379), which says to define it as an 
oeprational attribute in the connector configuration.  This works:

<icfcldap:operationalAttributes>legacyExchangeDN</icfcldap:operationalAttributes>

It would be nice if the note under "Active Directory LDAP Strangeness" 
explicitly said this.


Second, I wanted direct control over the userAccountControl attribute so 
that I can create an AD account that is initially disabled, even though 
the midPoint user is enabled.  I couldn't figure out how to do this using 
administrativeStatus.  I was getting a strange error message like "unable 
to map integer to boolean" when I adding an outbound mapping for 
userAccountControl.  I eventually discovered this connector configuration 
to disable the special handling of userAccountControl:

<icfcldap:rawUserAccountControlAttribute>true</icfcldap:rawUserAccountControlAttribute>

It would be great if there was documentation (wiki?) for all the possible 
settings on the connectors.  I found this setting by searching the mailing 
list and reading the source code of the connector.

Thanks,

Andy Morgan
Systems Administrator, Identity & Access Management
Information Services | Oregon State University
541-737-8877 | is.oregonstate.edu



More information about the midPoint mailing list