...
- This upgrade step ONLY applies to implementers that source person attributes from AD/LDAP AND end users may have more than one entry among all the searchable AD/LDAP branches currently configured in SSP Platform. There are multiple steps to properly configure the lookup filtering as described below.
<platform-src>/uportal-war/src/main/resources/properties/contexts/personDirectoryContext.xml - Each LDAP DAO requires a line similar to the following in its resultAttributeMapping map:
Code Block <entry key="distinguishedName"><value>distinguishedName</value></entry> In all cases the <value> must be 'distinguishedName'. The key might be directory-specific. E.g. in Apache DS, the correct config is: <entry key="entryDN"><value>distinguishedName</value></entry>
Make distinguishedName visible. Run this command from <platform-src> (all one line) to import the updated permissions:
Code Block SSP_CONFIGDIR=/path/to/ssp/config ant -Dmaven.test.skip=true -Dfile=uportal-war/src/main/data/ssp_entities/permission_set/Everyone__VIEW_USER_ATTRIBUTE__distinguishedName.permission-set.xml data-import
<ssp-config-dir>/ssp-platform-config.properties - Specify the filtering strategy as described by comments in <platform-src>/uportal-war/src/main/resources/properties/ssp-platform-config.default.properties. As noted in those comments, if you choose PreferredBaseDnPersonAttributesFilter or RequiredBaseDnPersonAttributesFilterbe sure to specify the prioritized DN. E.g. for an imaginary and very simple directory.
Code Block # Spring pseudo-URL pointing to a Groovy implementation of IPersonAttributesFilter # suitable for filtering person directory lookups for end users hitting the # portal via the /sso API. OOTB options: # # classpath:org/jasig/portal/portlets/lookup/NoOpPersonAttributesFilter.groovy - Default. Does nothing. # # classpath:org/jasig/portal/portlets/lookup/RequiredBaseDnPersonAttributesFilter.groovy - Limits directory search # results to only those persons associated with the baseDn configured by an additional property set in this # file. E.g. to limit SSO to users in the 'faculty' branch of an imaginary LDAP directory: # # environment.build.sso.personFilteringBaseDn=ou=faculty,o=persondir # # For this to work, personDirectoryContext.xml DAOs must be configured to expose a logical attribute named # 'distinguishedName' # classpath:org/jasig/portal/portlets/lookup/PreferredBaseDnPersonAttributesFilter.groovy - Similar to # RequiredBaseDnPersonAttributesFilter but allows results not associated with # environment.build.sso.personFilteringBaseDn. I.e. if an end user has multiple directory entries with the same # environment.build.sso.personDirectoryUuidAttributeName (see below) and that attribute is being used as the # lookup key, choose the entry associated with environment.build.sso.personFilteringBaseDn, if any. Otherwise # return all results (which may result in an error downstream). Use this is you want to allow SSO for # users in a variety of base DNs, but need a policy for narrowing down entries for certain users. # # If none of these strategies work for your deployment, you can define a custom strategy without forking Platform # source by defining your Groovy-implemented IPersonAttributesFilter anywhere that can be referenced by a Spring # pseudo-URL. If you define a file: URL, changes to the script will be picked up automatically without requiring # an app server restart. E.g.: # # environment.build.sso.personFilteringScript=file:/opt/sspconfig/MyPersonAttributesFilter.groovy # environment.build.sso.personFilteringScript=classpath:org/jasig/portal/portlets/lookup/NoOpPersonAttributesFilter.groovy
Update the java api in uPortal
Once the code branch has been pulled into the local repository, the Platform API must be built prior to deploying SSP Platform as shown below:
Code Block cd <SSP-Platform source>/uportal-java-api mvn clean install
SSP v2.5.3 JIRA Issues
Bugs
...