Over a million developers have joined DZone.

Adding Secondary User Stores for WSO2 Products

DZone's Guide to

Adding Secondary User Stores for WSO2 Products

· Integration Zone ·
Free Resource

WSO2 is the only open source vendor to be named a leader in The Forrester Wave™: API Management Solutions, Q4 2018 Report. Download the report now or try out our product for free.

By default, WSO2 products have a single user store. In this post we will configure Secondary User Stores (ReadWriteLDAPUserStoreManager). You can also configure your own customized user stores and connect them with the products as secondary stores. In my previous post[1], we created new custom LDAP and we will going to use that LDAP as our secondary user stores. I will be using WSO2 ESB 4.8.0 as wso2 product

We need to start your LDAP. (Here is my LDAP configure information), I will be using Apache Directory Studio 1.5.3 for LDAP browsing


Here the Connection Name name is ‘uid=admin,ou=system’ password ‘admin’ (but default password is ‘secret’)


Make sure your LDAP is started and running


Now we start our work for configuring Secondary User Stores

1. Starting WSO2 ESB from ‘wso2esb-4.8.0\bin\wso2server.bat’ \.sh

2. Then login to ‘Management Console’ by username and password as ‘admin’ and ‘admin’

3. Go to click User Store Management sub menu under Configure menu

4. Initially, there are no secondary user stores.(You cannot update the PRIMARY user store at run time, so it is not visible on this page)

5. Click Add Secondary User Store.


6. The User Store Manager page opens. Enter a unique domain name and fill in the rest of the data.


Here is own secondary user store


Now we will check user and role (group) list



LDAP explorer


[1] http://madhukaudantha.blogspot.com/2014/01/create-you-own-ldap-from-apache.html

Read the WSO2 Methodology for Agility to see how you can transform your integration projects from semi-agile to a scalable continuous agile approach.


Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}