-
1. Re: Where do I place jbpm.usergroup.callback.properties?
vcornejo Sep 25, 2015 9:18 AM (in response to schufty)Lance.
There are two points to configure:
1 By default the business-central security domain is "other" (that point to user.properties).
You must define a new security domain "myLdapDomain" into EAP/standalone/configuration/standalone.xml, and point business-central/WEB-INF/jboss-web.xml to this.
example:
<security-domain name="myLdapDomain">
<authentication>
<login-module code="org.jboss.security.auth.spi.LdapExtLoginModule" flag="required">
<module-option name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
<module-option name="java.naming.provider.url" value="ldap://ldap_server_ip:389"/>
<module-option name="bindDN" value="cn=queryUser,cn=Users,dc=mydomain,dc=com"/>
<module-option name="bindCredential" value="queryUserPassword"/>
<module-option name="baseCtxDN" value="cn=Users,dc=mydomain,dc=com"/>
<module-option name="baseFilter" value="(userPrincipalName={0})"/>
<module-option name="rolesCtxDN" value="cn=Users,dc=mydomain,dc=com"/>
<module-option name="roleFilter" value="(userPrincipalName={0})"/>
<module-option name="roleAttributeID" value="memberOf"/>
<module-option name="roleNameAttributeID" value="cn"/>
<module-option name="roleAttributeIsDN" value="true"/>
<module-option name="allowEmptyPasswords" value="true"/>
<module-option name="Context.REFERRAL" value="follow"/>
<module-option name="throwValidateError" value="true"/>
<module-option name="searchScope" value="SUBTREE_SCOPE"/>
</login-module>
<login-module code="org.jboss.security.auth.spi.RoleMappingLoginModule" flag="optional">
<module-option name="rolesProperties" value="roles.properties"/>
<module-option name="replaceRole" value="false"/>
</login-module>
</authentication>
</security-domain>
Doing this, business-central can authenticate users with Ldap server
---------------------------------------------------------------------------------------------------
2 For some features related to querying the users-groups you must change the default UserGroupCallBack defined into business-central/WEB-INF/beans.xml
<alternatives>
<class>org.jbpm.services.cdi.producer.JAASUserGroupInfoProducer</class>
</alternatives>
change to
<alternatives>
<class>org.jbpm.services.cdi.producer.LDAPUserGroupInfoProducer</class>
</alternatives>
Additional you need to define the system property jbpm.usergroup.callback.properties and point to your propertie file (WEB-INF/jbpm.usergroup.callback.properties)
That's all what I do to work with bpms and ldap.