Using Spring Security for user management in Flowable

Hello,

I would like to use my own user database and existing Spring Security setup. I have explored various ways of doing this.

  1. I’ve seen posts that say to implement a custom IdentityServiceUserDetailsService.

  2. I’ve seen posts that advocate implementing a custom UserEntityManagerImpl and GroupEntityManagerImpl and injecting a jdbcUserDetailsManager bound to a custom authentication database.

Which is the “correct” way of doing this? I assume the answer may start with something like “it depends…”. If so, then what are the pros and cons of doing this one way over another.

Also, I do not want to lose any Flowable functionality. I need a solution that will still allow me to query tasks for candidate groups and users and such.

Additionally, I am using Spring Boot. What is the proper way of modifying Flowable’s auto configuration with my custom authentication?

Thanks!!!

Hi,

The best approach is to implement similar logic like was done in the Flowable LDAP module:

This means implementing a custom version of the IdmIdentityService:

Then you can inject this instance of the identity service in the process engine configuration and you should be good to go. You can also implement an IdmEngineConfigurator and then add the configurator the the process engine configuration:

Best regards,

Tijs

Thanks Tijs!
Now that I am back from vacation, I will implement this.

Any plans for a new workflow\process engine book to follow up the Manning Press one?

Ok great. We are currently having some initial conversations with Manning, so maybe we can share some news about that in a few weeks time :wink:

Best regards,

Tijs