cancel
Showing results for 
Search instead for 
Did you mean: 

Java engine and ldap configuration problem

rmadaow
Champ in-the-making
Champ in-the-making
Hi,

I have a little problem with ldap configuration under java aplication. After configureing activiti engine and ldap IdentityService do not find existing ldap user. (Given user exists in ldap - i have checked that using DirContext and the same ldap connection properties and queries). Engine need to be created programmatically because some of connection properties are stored in different database.
org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl process = new org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration();process.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_FALSE);process.setJdbcDriver("com.microsoft.sqlserver.jdbc.SQLServerDriver");process.setJdbcUrl("jdbc:sqlserver://"+jdbcHost+";databaseName="+jdbcDatabase);process.setJdbcUsername(jdbcUser);process.setJdbcPassword(jdbcPass);process.setAsyncExecutorEnabled(true);process.setAsyncExecutorActivate(false);LDAPConfigurator ldapConfig = new LDAPConfigurator();//LDAP connection paramsldapConfig.setServer(ldapUrl);ldapConfig.setPort(lPort);ldapConfig.setUser(ldapUser);ldapConfig.setPassword(ldapPass);ldapConfig.setSecurityAuthentication("simple");ldapConfig.setInitialContextFactory("com.sun.jndi.ldap.LdapCtxFactory");ldapConfig.setBaseDn(baseDn);//Attributes configldapConfig.setUserIdAttribute("sAMAccountName");ldapConfig.setUserFirstNameAttribute("givenName");ldapConfig.setUserLastNameAttribute("sn");ldapConfig.setUserEmailAttribute("mail");ldapConfig.setGroupIdAttribute("cn");ldapConfig.setGroupNameAttribute("cn");//QueriesldapConfig.setQueryUserByUserId("(&(objectClass=user)(sAMAccountName={0}))");ldapConfig.setQueryGroupsForUser("(&(objectClass=group)(member={0}))");process.addConfigurator(ldapConfig);org.activiti.engine.ProcessEngine engine = process.buildProcessEngine();org.activiti.engine.identity.User user = engine.getIdentityService().createUserQuery().userId(ldapExistingUser).singleResult();if(user == null){    System.err.println("User not found");}else{    System.out.println(u.getId());    System.out.println(u.getFirstName());    System.out.println(u.getLastName());    System.out.println(u.getEmail());}‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍


Console output:
[AWT-EventQueue-0] INFO org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl - Found 1 Process Engine Configurators in total:[AWT-EventQueue-0] INFO org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl - class org.activiti.ldap.LDAPConfigurator (priority:10000)[AWT-EventQueue-0] INFO org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl - Executing beforeInit() of class org.activiti.ldap.LDAPConfigurator (priority:10000)[AWT-EventQueue-0] INFO org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl - Executing configure() of class org.activiti.ldap.LDAPConfigurator (priority:10000)[AWT-EventQueue-0] INFO org.activiti.engine.impl.ProcessEngineImpl - ProcessEngine default createdUser not found‍‍‍‍‍‍‍‍



I will be grateful for your help and suggestions.
2 REPLIES 2

rmadaow
Champ in-the-making
Champ in-the-making
Forgot to change, but still can't find user.
<java>
else{
    System.out.println(user.getId());
    System.out.println(user.getFirstName());
    System.out.println(user.getLastName());
    System.out.println(user.getEmail());
}
</java>