codeBeamer Authentication with SiteMinder
codeBeamer supports Authentication/SSO via SiteMinder.
The steps below should be executed to use SiteMinder authentication with codeBeamer.
SiteMinder can provide user/authentication related data on some defined protected pages (URLs).
The default protected page can be configured in the file /install_dir/tomcat/webapps/cb/WEB-INF/classes/urlSecurityFilter.xml
(this file can be extracted from /install_dir/tomcat/webapps/cb/WEB-INF/lib/cb.jar into).
The example below shows the default configuration:
<smLoginUrl>
/authentication/smLogin
</smLoginUrl>
SiteMinder should be configured to take that URL (/authentication/smLogin) as protected page and provide user/authentication specific information in http request headers thus they are available for codeBeamer.
In the file /install_dir/tomcat/webapps/cb/WEB-INF/classes/my-applicationContext.xml the lines below should be used to configure codeBeamer to use SiteMinder for Authentication:
<bean id="cbRealm" class="com.intland.codebeamer.security.realm.RealmProxy" primary="true">
<property name="delegateRealm" ref="siteminderRealm" />
</bean>
The file /install_dir/tomcat/webapps/cb/config/smmapping.xml defines how user related information provided in http request headers can be mapped to codeBeamer account specific properties:
<map>
<properties>
<!--
"name" contains the CodeBeamer property and "value" the Siteminder one.
-->
<property name="name" value="sm_user" sync="false" />
<property name="lastName" value="usdaLastName" sync="true"/>
<property name="firstName" value="usdaFirstName" sync="true"/>
<property name="title" value="usdaTitle" sync="false" />
<property name="company" value="usdaAgencyAbbr" sync="false" default="USDA" />
<property name="telephoneNumber" value="usdaWorkPhone" sync="false" />
<property name="city" value="usdaCity" sync="false" />
<property name="postalCode" value="usdaZip" sync="false" />
<property name="address" value="usdaStreetAddress" sync="false" />
<property name="country" value="usdaCountry" sync="false" />
<property name="eauthid" value="usdaEauthId" sync="false" />
<property name="mail" value="usdaEmail" sync="false" />
<property name="state" value="usdaState" sync="false" />
</properties>
</map>
At least the property eauthid must be configured to identify the SiteMinder account identifier.