Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
3.6.0
-
None
Description
Following this message: https://www.mail-archive.com/server-dev@james.apache.org/msg70640.html
This is a problem I had during the last deployments I did carry over: explaining people their credentials were bob@domain.com and not bob as they had the habit of. (A I turn on virtual hosting then I do need to have the domain name for usernames)
Recently I and my team at Linagora had been tasked to support both bob and bob@domain.com connection identifiers for the POP3 protocol, which we did implement in a private (tailor-made) project.
However, we strongly believes this would also benefit the Apache project as well (removes some barriers for the initial migration), thus would propose adoption here too.
Design
- UsersDAO class can list username with a given localpart
- UsersReposiotry::getUserByName could then attempt a resolution when virtualhosting is enabled but the username is only a local part:
- The list of user with that local part is empty -> not found
- The list of user with that local part have one item -> return it
- The list of user with that local par several items -> fail (ambiguous)
- We then adapt SessionProvider to rely on that code path
Local part resolution for JPA and Memory is trivial, requires one projection with Cassandra, requires one more configuration field (uid) for LDAP.
Attachments
Issue Links
- links to