If you want to setup your BCC with a SSO server along with LDAP validation you can follow the next steps, this is all for OOTB configs:
LDAP In Memory Server
Feel free to clone and build: https://github.com/kwart/ldap-server
Then you can start it with: java -jar ldap-server.jar -b 127.0.0.1 -p 10389 ldap_test.ldif
Just make sure that you defined user and organization appropriately.
CIM Setup
SSO
Run <ATG_ROOT>/home/bin/cim.sh
Select options as follows:
Database
[P] Publishing
[C] Connection Details
[1] Oracle Thin
user/psswd > PUB_USER/PUBPassword
Enter Host Name > localhost
Enter Port Number [[1521]] >
Enter Database Name > YOUR_SERVICENAME
Enter Database URL [[jdbc:oracle:thin:@localhost:1521:YOUR_SERVICENAME]] >
Enter Driver Path > <ATG_ROOT>/CIM/lib/ojdbc7.jar
Enter JNDI Name [[ATGPublishingDS]] >
[T] Test Connection
[S] Create Schema
[C] Create Schema - This will run the pending ddl scripts (not previously run) for the related SSO changes:
Found 1 of 69 previously unrun tasks for Datasource Publishing 1 DPS.InternalUsers.LDAP :
sql/db_components/oracle/internal_user_ldap_ddl.sql ->
create table dpi_organization_ldap (
org_id varchar2(40) not null,
ldap number(1,0) null
,constraint dpi_organization_ldap_p primary key (org_id)
,constraint dpi_organizationldap_f foreign key (org_id) references dpi_organization (org_id));
[I] Import Initial Data
[I] Import Data - This will run the corresponding view mappings for BCC:
Importing ( 1 of 1 ) /DPS-UI/AccessControl/SSO/install/data/viewmapping.xml to
/atg/web/viewmapping/ViewMappingRepository...Success
[O] Configure Another Datasource
[C] Production Core
[C] Connection Details
[1] YOUR_SID@jdbc:oracle:thin:@localhost:1521:YOUR_SERVICENAME
user/psswd > CORE_USER/COREPassword
Enter Host Name [[localhost]] >
Enter Port Number [[1521]] >
Enter Database Name [[YOUR_SERVICENAME]] >
Enter Database URL [[jdbc:oracle:thin:@localhost:1521:YOUR_SERVICENAME]] >
Enter Driver Path [[<ATG_ROOT>/CIM/lib/ojdbc7.jar]] >
Enter JNDI Name [[ATGProductionDS]] >
[T] Test Connection
[O] Configure Another Datasource
[S] Switching A
user/psswd > CATA_USER/CATAPassword
Enter Host Name > localhost
Enter Port Number [[1521]] >
Enter Database Name > YOUR_SID
Enter Database URL [[jdbc:oracle:thin:@localhost:1521:YOUR_SERVICENAME]] >
Enter Driver Path > <ATG_ROOT>/CIM/lib/ojdbc7.jar
Enter JNDI Name [[ATGSwitchingDS_A]] >
[T] Test Connection
[O] Configure Another Datasource
[B] Switching B
user/psswd > CATB_USER/CATBPassword
Enter Host Name > localhost
Enter Port Number [[1521]] >
Enter Database Name > YOUR_SERVICENAME
Enter Database URL [[jdbc:oracle:thin:@localhost:1521:YOUR_SERVICENAME]] >
Enter Driver Path > <ATG_ROOT>/CIM/lib/ojdbc7.jar
Enter JNDI Name [[ATGSwitchingDS_B]] >
[T] Test Connection
LDAP
Publishing and SSO instances
Assembly and Deployment
Endeca Workbench
To integrate Workbench with Commerce SSO:
3. Locate the configuration titled # Commerce SSO Authentication.
4. Set com.endeca.webstudio.useSSO to true:
# Commerce SSO Authentication
com.endeca.webstudio.useSSO=true
5. Uncomment the following properties:
com.endeca.webstudio.sso.loginURL
com.endeca.webstudio.sso.keepAliveFrequency
6. Set the uncommented properties to their respective values.
For example:
# Commerce SSO Authentication
com.endeca.webstudio.useSSO=true
com.endeca.webstudio.sso.loginURL=http://localhost:7003/sso/login
com.endeca.webstudio.sso.keepAliveFrequency=1800
7. Save and close the file.
This allows workbench to redirect to SSO server if user ticket is not valid (not signed in)
To configure Workbench with BCC link:
Creating Users and Organizations
1. If you have a valid LDAP account (test/test) but this account doesn't belong to an LDAP organization in BCC you will be authenticated successfully but won't be granted access to BCC:
2. In order to create an LDAP organization in BCC you'll have to access with the admin account and go to: Access Control > Organizations > Root Organization
3. Click the plus icon and select organization:
4. Select LDAP for the Source property
5. Enter test-group as the name of the organisation and click the validate button
6. You'll get a message that the name is a valid one on the LDAP server, in this case it is because the ldap_test.ldif has it defined:
7. Click the Create button
8. Go back to Users and add a new one (click the plus icon and select 'user')
9. Same as with the organization, you have to provide a user valid in the LDAP server, in this case you can use 'test':
10. Notice the email, first name and last name fields are not editable and more importantly are automatically populated with the information coming directly from LDAP server
Note: Any required properties from LDAP can be mapped into ATG profiles through configuration on ldapUserProfile.xml, these are the ones mapped OOTB:
Notice the last line: <search-root> tag, which defines the base search domain in this case for the user profiles.
11. Click on the Organization & Role tab, you'll see that the user is automatically added to the test-group organisation we just created, this because user is added to that group in LDAP server already, so ATG just retrieved the information:
12. Click the Create button and you're done
Documentation
https://docs.oracle.com/cd/E69533_01/Platform.11-3/ATGEndecaIntegrationGuide/html/s1603login01.html
https://docs.oracle.com/cd/E70265_01/common.11-3/EndecaAdmin/html/tcag_configuring_commerce_sso.xmltask_0D659CA099C64C84A2ADCDD4B62E9770.html
Comments
Post a Comment