Dashboard > ApacheDS Addons > ... > Developer's Guide > LDAP-JNDI Mismatch
LDAP-JNDI Mismatch
Added by Alex Karasulu, last edited by Alex Karasulu on Oct 29, 2005  (view change)
Labels: 
(None)


Problem Statement

While trying to implement the ACI based authorization service we encountered some problems. Namely how do we correlate intercepted method calls with LDAP operations. The relationships are not one to one. The following LDAP operations can directly be correlated with intercepted methods:

LDAP Operation Intercepted Methods
Add add(String,Name,Attributes)
Del delete(Name)
Modify modify(Name,int,Attributes), modify(Name,ModificationItem[])
ModifyDn modifyRn(Name,String,boolean),move(Name,Name),move(Name,Name,String,boolean)
Search search(Name,Map,ExprNode,SearchControls)

The following LDAP operations do not presently correlate to intercepted methods:

  • Abandon
  • Bind
  • Compare
  • Extended
  • Unbind

The following permissions exist for X.501 grants and denials:

  • Add
  • DiscloseOnError
  • Read
  • Remove
  • Browse
  • Export
  • Import
  • Modify
  • Rename
  • ReturnDN
  • Compare
  • FilterMatch
  • Invoke

Note that there is no way to have the authorization interceptor "intercept" a compare opertation and do its magic.

Quick Fix Solution

We decided to add a compare() operation to the Interceptor interface and introduce the compare() method in the ServerLdapContext implementation to call the nexus proxy compare(). This way compare operations will be processed by server's core with the intervention of interceptor services.

Site running on a free Atlassian Confluence Open Source Project License granted to Safehaus. Evaluate Confluence today.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.5.4 Build:#809 Jun 12, 2007) - Bug/feature request - Contact Administrators