Hi all,

After a long investigation, I think we've determined that the problems I've
been seeing with the SimpleLdapSecurityContext under up3 are due to the fact
that the new version appends the baseDN onto the end of the connection URL
string.

To get around this problem, I've changed the getBaseDN() method of
ContextSourceLdapServerImpl to return a local variable rather than getting
the base from the connection object.  This means that you can leave the
"base" property out of the connection context bean configuration, and
instead configure a "baseDN" property in the ldap server bean.  This will
let you set the base without it automatically getting appended to the
connection url.

Example:

<bean id="defaultLdapServer"
class="org.jasig.portal.ldap.ContextSourceLdapServerImpl">

    <property name="ldapContextSource" ref="defaultLdapContext"/>
    <property name="uidAttribute" value="uid"/>


    <property name="baseDN" value="ou=People, dc=myuniv, dc=edu"/>
</bean>

 <bean id="defaultLdapContext"
class="org.springframework.ldap.core.support.LdapContextSource">

    <property name="url" value="ldap://ldap.myuniv.edu:389"/>

    <property name="userName" value=""/>
    <property name="password" value=""/>
</bean>


Important note:  If you're using both LDAP security context and the LDAP
person directory, you'll need to configure separate ldap context for each:

 <bean id="defaultLdapServer"
class="org.jasig.portal.ldap.ContextSourceLdapServerImpl">

    <property name="ldapContextSource" ref="defaultLdapContext"/>
    <property name="uidAttribute" value="uid"/>


    <property name="baseDN" value="ou=People, dc=myuniv, dc=edu"/>
</bean>

 <bean id="defaultLdapContext"
class="org.springframework.ldap.core.support.LdapContextSource">

    <property name="url" value="ldap://ldap.myuniv.edu:389"/>

    <property name="userName" value=""/>
    <property name="password" value=""/>
</bean>

 <bean id="personDirectoryLdapContext"
class="org.springframework.ldap.core.support.LdapContextSource">

    <property name="url" value="ldap://ldap.myuniv.edu:389"/>

    <property name="base" value="ou=People, dc=myuniv, dc=edu"/>
    <property name="userName" value=""/>


    <property name="password" value=""/>
</bean>

 You would also need to change the "contextSource" property of the LDAP
person directory bean to reference this new "personDirectoryLdapContext"
bean.

I'll try and copy all this documentation into the wiki sometime this
afternoon.

- Jen

-- 
You are currently subscribed to uportal-dev@lists.ja-sig.org as: [EMAIL 
PROTECTED]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/uportal-dev

Reply via email to