<div dir="ltr">I got this working by making two changes you can see in this diff:<div><br></div><div><div>-  &lt;resolver:DataConnector id=&quot;edEntitlement&quot; xsi:type=&quot;dc:LDAPDirectory&quot;</div><div>-                          springResources=&quot;%{idp.home}/conf/ed-entitlement-data-connector.xml&quot; /&gt;</div><div>+  &lt;resolver:DataConnector id=&quot;edEntitlement&quot; xsi:type=&quot;dc:LDAPDirectory&quot; springResources=&quot;%{idp.home}/conf/ed-entitlement-data-connector.xml&quot;&gt;</div><div>+    &lt;resolver:Dependency ref=&quot;edPerson&quot; /&gt;</div><div>+    &lt;dc:ResultCache elementTimeToLive=&quot;PT10S&quot; maximumCachedElements=&quot;200&quot; /&gt;</div><div>+  &lt;/resolver:DataConnector&gt;</div><div><br></div><div>I&#39;m fairly certain that the root cause is that I was missing a dependency reference. I defined the ResultCache here since the config was more succinct, though it still seems like the cache is not shared between data connectors with that config; if that&#39;s correct then cache sharing isn&#39;t needed. I don&#39;t care about caching mechanics as long as attribute resolution works, which it does.</div><div><br></div><div>Also, I want to clarify that expressions like the following still work in v3:</div><div><br></div><div>(entitled=uid=$uid.get(0),ou=people,dc=vt,dc=edu)<br></div><div><br></div><div>Where $uid is an attribute resolved by a dependency data connector.</div><div><br></div><div>M<div> </div></div></div></div>