A user store is the database where information about the users and user roles is stored, including log-in name, password, first name, last name, and e-mail address. The user stores of all WSO2 Carbon-based products are embedded H2 databases except for WSO2 Identity Server, which has an embedded LDAP as its user store. In Carbon, permissions are stored in a separate database called the User Management database. The default User Management database is H2, but you can connect to external user stores as well.
The user stores of Carbon products can be configured to operate in read/write mode, in which it reads data and also writes data to the user store, and read-only mode, in which it does not modify any data. Carbon maintains roles and permissions in the Carbon database, but it can read users and roles from the configured user store.
In addition to the primary user store, you can configure additional, secondary user stores.
User management in WSO2 products
User management is available by default in all WSO2 Carbon-based products. It includes the following functionality.
- A primary user store, either the embedded (internal) user store or an external store (JDBC, LDAP, or Active Directory).
- Ability to configure additional user stores as secondary user stores.
- Ability to operate in read-only or read-write mode on your company's LDAP user stores.
- Ability to work with Active Directory Domain Services (AD DS) and Active Directory Lightweight Directory Services (AD LDS) in read/write mode.
- Ability to read roles from external user stores.
Configuring user management
The complete configuration for user management (referred to as the realm) is in the
user-mgt.xml file in the
<PRODUCT_HOME>/repository/conf/ directory. You can also configure users and roles through the management console, as described in the next topics in this section.
Customizing user management
You can create a custom implementation of the user management functionality and use it in WSO2 products. For complete information, see Customizing User Management.
One of the powerful features of the WSO2 Identity Server is the user management functionality. The Identity Server can be connected with any type of user store and then user store functions can be exposed as a Web Service APIs. The XACML implementation of WSO2 Identity Server uses these user management APIs for various purposes. All these user management functionalities are inherited from WSO2 Carbon platform.