Thursday 11 July 2013

SOA WORKLIST : SQL AUTHENTICATOR


PROBLEM STATEMENT:
-------------------
Create sql authenticator as security provider.
The user "xc"(in administrator Group) defined in db can login weblogic console.
But when login
http://<host>:<port>/integration/worklistapp
it reports error:
User "xc" is not found in configuration "jazn.com" and the
exception was thrown repeatedly and it seems infinite redirection loop occurs
------------
Caused By: ORABPEL-10509

User not found.
User "xc" is not found in configuration "jazn.com"


EXPLANATION:
------------
The issue is caused because the worklist application only authenticates via
LDAP Authenticator and ignores SQLAuthenticator.

This is a know issue and has been address via a workaround.

Please refer to Note 1194815.1.
  Download the  attachment : workflow-120-SQLIdentityProvider.zip
  Copy dbprovider.jar from workflow-120-SQLIdentityProvider\lib
  to MW_HOME/user_projects/domains/{soa_domain}/lib
.
And follow the steps below:
1. Shutdown SOA and Admin Server
2. Navigate to MW_HOME/user_projects/domains/{domain_name}/config/fmwconfig
3. Backup jps-config.xml
4. Edit jps-config.xml and make the following modifications
  A. Modify
  <serviceInstanceRef ref="idstore.ldap"/> to
  <serviceInstanceRef ref="idstore.custom"/>
    under <jpsContext name="default">
  B. Add
     <serviceInstance name="idstore.custom" provider="custom.provider"
location="dumb">
<description>Custom Identity Store Service Instance</description>
<property name="idstore.type" value="CUSTOM"/>
<property name="ADF_IM_FACTORY_CLASS"
value="org.sample.providers.db.DBIdentityStoreFactory"/>
<property name="DB_SERVER_NAME" value="db_host_name"/>
<property name="DB_SERVER_PORT" value="db_port"/>
<property name="DB_DATABASE_NAME" value="db_sid"/>
<property name="ST_SECURITY_PRINCIPAL" value="db_user"/>       
<property name="ST_SECURITY_CREDENTIALS" value="db_passwd"/>   
</serviceInstance>
   under <serviceInstances>
     change the db_* parameters as per the environment
 C. Add
<serviceProvider type="IDENTITY_STORE" name="custom.provider"
class="oracle.security.jps.internal.idstore.generic.GenericIdentityStoreProvid
er">
              <description>Custom IdStore Provider</description>
</serviceProvider>
 within <serviceProviders> </serviceProviders>
.
5. Start SOA/Admin server
 Now logging on to worklist application should work.

No comments:

Post a Comment