User repositories are required to store James user information and authentication data
Consult usersrepository.xml in GIT to get some examples and hints.
A user has two attributes: username and password. A valid user should satisfy these criteria:
A user is always considered as lower cased, so 'myUser' and 'myuser' are the same user, and can be used as well as recipient local part than as login for different protocols.
All Users Repositories provide at least these three options
JPA (database via OpenJPA) based user repository. This is the default implementation.
The usersrepository tag as 2 attributes: name="LocalUsers" and class="org.apache.james.user.file.UsersFileRepository"> The class tag should be specified for Spring, but is not taken into acount by Guice.
Read-Only LDAP based UsersRepository
Example:
<repository name="LocalUsers" class="org.apache.james.user.ldap.ReadOnlyUsersLDAPRepository" ldapHost="ldap://myldapserver:389" principal="uid=ldapUser,ou=system" credentials="password" userBase="ou=People,o=myorg.com,ou=system" userIdAttribute="uid"/>