[ 
https://issues.apache.org/jira/browse/JAMES-3643?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Benoit Tellier closed JAMES-3643.
---------------------------------
    Resolution: Fixed

Now possible on top of the LDAP implementation ;-)

> VirtualHosting: using both b...@domain.tld and bob as a connection identifier
> ----------------------------------------------------------------------------
>
>                 Key: JAMES-3643
>                 URL: https://issues.apache.org/jira/browse/JAMES-3643
>             Project: James Server
>          Issue Type: Improvement
>          Components: IMAPServer, POP3Server, SMTPServer, UsersStore & 
> UsersRepository
>    Affects Versions: 3.6.0
>            Reporter: Benoit Tellier
>            Priority: Major
>             Fix For: 3.7.0
>
>          Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> 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 *b...@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 
> *b...@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.
> h3. 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.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to