...
...
...
...
...
...
The default configuration of WSO2 products has a single user store. If required, you can configure WSO2 products to connect to several secondary user stores as well. After configuration, users from different stores can log in and perform operations depending on their roles/permissions. You can also configure your own customized user stores and connect them to the products as secondary stores.
Tip | ||
---|---|---|
| ||
If you are setting up a database other than the default H2 that comes with the product to store user information, select the script relevant to your database type from the |
The topics below show how to configure secondary user stores manually or using the management console: Table of Contents maxLevel 4 minLevel 4
Configuring using the management console
- Log in to the management console and click User Store Management sub sub menu under under Configure menu menu.
The The User Store Management page page opens. Initially, there are no secondary user stores.
Info You cannot update the PRIMARY user store at run time, so it is not visible on this page.
Click Click Add Secondary User Store.
The The User Store Manager page page opens. Enter a unique domain name and fill in the rest of the data.
Info Do not include underscore character (_) in domain names.
For details on each property, see the respective property description that is provided. Also, select the required implementation of user store manager from the the User Store Manager Class drop drop-down list. The displayed property list varies depending on the selected user store manager implementation. By default, all WSO2 products come with four user store manager implementations as follows:
User store manager Description org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager
Use
ReadOnlyLDAPUserStoreManager
to do read-only operations for LDAP user stores.org.wso2.carbon.user.core.ldap.ReadWriteLDAPUserStoreManager
Use
ReadWriteLDAPUserStoreManager
for LDAP user stores to do both read and write operations.org.wso2.carbon.user.core.ldap.ActiveDirectoryUserStoreManager
Use
ActiveDirectoryUserStoreManager
to configure an Active Directory Domain Service (AD DS) or Active Directory Lightweight Directory Service (AD LDS). This can be used only for read/write operations. If you need to use AD as read-only, you must useorg.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager
- ActiveDirectoryUserStoreManager JDBCUserStoreManager
Ensure that all the mandatory fields are filled and a valid domain name is given and click click Add.
A message appears saying that the user stores are being added.
Info The above message does not imply that the user store is added successfully. It simply means that the server is attempting to add the new user store to the end of the available chain of stores.
Refresh the page after a few seconds to check the status.
If the new user store is successfully added, it will appear in the the User Store Management page page.
After adding to the server, you can edit the properties of the new secondary user store and enable/disable it in a dynamic manner.
. | |
org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager | Use |
You can also populate this drop-down list with custom user store manager implementations by adding them to the server. A sample custom user store manager can be found in the repository.
Configuring manually
By default, user-mgt.xml
file contains the configuration of the primary user store. When you create a secondary user store, its configuration is saved to an XML file with the same name as the domain you specified. If required, you can create this XML file manually and save it as follows:
- If it is configuration of a super tenant, save the configuration in <
PRODUCT_HOME>/repository/deployment/server/userstores
directory. - If it is a general tenant, save the configuration in <
PRODUCT_HOME>/repository/tenants/<tenantid>/userstores
directory.
- If it is configuration of a super tenant, save the configuration in <
The secondary user store configuration file must have the same name as the domain with an underscore (_) in place of the period. For example, if the domain is wso2.com,
name name the file as wso2_com.xml.
Only Only one file contains the definition for one user store domain.