Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Reverted from v. 15

WSO2 Carbon's default configuration has a single user storeThe default configurations of WSO2 products have a single, embedded user store (primary user store). If required, it can be configured you can configure WSO2 products to connect to multiple several secondary user stores as well. After configuration, so that users in any of the configured user stores are able to users from different stores can log in and perform operations depending on their roles/permissions. In addition, users are able to configure their own user stores out-of-the-box. This section explains how to set up multiple user stores in WSO2 products.You can also configure your own customized user stores and connect them with the products as secondary stores.

The topics below explain how to configure secondary user stores manually or using the management console: 

Tip
titleBefore you begin:

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 <PRODUCT_HOME>/dbscripts folder and run it on your database. It creates the necessary tables.

...

Configuring using the management console

  1. Log in to the WSO2 Carbon management console.On the Configure menu, management console and click User Store Management under  sub menu under Configure menu.
  2. When The User Store Management page opens. Initially, there are no multiple secondary user stores defined, the default view is as follows:.

    Info

    Note: You cannot update the PRIMARY user store at run time, so it is not visible in on this viewpage.

  3. Click Add Secondary User Store.

  4. Select the required implementation
  5. In the User Store Manager Class list, select the type of user store

  6. manager from the drop-down menu. The displayed property list will vary, based on the selected user store manager implementation.
  7. By default, all the WSO2 products are shipped with four user store manager implementations, which are as follows:
    • ReadWriteLDAPUserStoreManager
    • ReadOnlyLDAPUserStoreManager
    • ActiveDirectoryUserStoreManager
    • JDBCUserStoreManager
  8. Additionally, if you want other custom user store manager implementations to be available, it is also possible. A
  9. you are creating:

    User store managerDescription
    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 use org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager.

    org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager

    Use JDBCUserStoreManager for JDBC user stores. The JDBC user store can be configured for read-only mode or read/write mode using the following property: <Property name="ReadOnly">false/true</Property>. 

    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.

  10. When it is added to the server, it also appears in this drop-down menu.
  11. Enter a unique domain name and fill in the other data to define the user store. For details on each property, see the respective property description that is provided.

    Info

    The domain name should not include the '_' (underscore) character.

    Click Add . 
    If all the mandatory parameters with no underscore (_) characters, and optionally enter a description for this user store.

  12. Enter values for the properties, using the descriptions in the Descriptions column for guidance. The properties that appear vary based on the user store manager class you selected, and there may be additional properties in an Optional or Advanced section at the bottom of the screen. See the related topics for descriptions of user store properties.
    Image Added 

  13. Ensure that all the mandatory fields are filled and a valid domain name is

  14. provided, the following notification displays. At this moment, WSO2 Carbon is attempting to add the new user store to the available chain of user stores.

    This is added to the very end of the chain of user stores. 

    Info
  15. given and click Add

  16. A message appears saying that the user stores are being added. 
    Image Added

    Info

    Note: The above message does not imply that the user store is added successfully. This can be checked in the following stepIt simply means that the server is attempting to add the new user store to the end of the available chain of stores.

  17. Refresh the page after a few seconds to check the status. 

  18. If the new user store

    has been

    is successfully added, it will appear in

    the table.

...

  1. the User Store Management page.

  2. After adding to the server, you can edit the properties of the

...

  1. new secondary user

...

  1. store and enable/disable

...

  1. it in a dynamic manner.

Configuring

...

manually

By default, the configuration of the primary user store is saved in the user-mgt.xml file. When you create a secondary user store using the management console as explained above, its configuration is saved to an XML file with the same name as the domain name you specifiedspecify. If desiredAlternatively, you can create this XML file manually and save it as follows:

    • When you configure multiple user stores, you must give a unique domain name to each user store in the <DomainName> element. If you configure a user store without specifying a domain name, the server throws an exception at start up.
    • If it is the configuration of a super tenant, save the secondary user store definitions should go into the in <PRODUCT_HOME>/repository/deployment/server/userstores/ userstores directory.
    • If it is a general tenant, save the configuration should go into the <CARBONin <PRODUCT_HOME>/repository/tenants/<tenantid>/userstores directory.
    • The the secondary user store configuration file should must have the same name as the domain with an underscore (_) in place of the period. For example, if the domain is  wso2is wso2.com, name  name the file as follows:  as  wso2_com.xml.
    • One file only contains the definition for one user store domain.

Related topics