You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Robert Burrell Donkin (JIRA)" <se...@james.apache.org> on 2009/05/14 10:26:45 UTC

[jira] Closed: (IMAP-84) Improve Mailbox API for authentication, login and logout

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

Robert Burrell Donkin closed IMAP-84.
-------------------------------------

    Resolution: Fixed

    /**
     * Creates a new system session.
     * A system session is intended to be used for programmatic access.
     * Use {@link #login(String, String, Log)} when accessing this API
     * from a protocol.
     * @param userName the name of the user whose session is being created
     * @param log context sensitive log
     * @return <code>MailboxSession</code>, not null
     * @throws BadCredentialsException when system access is not allowed for the given user
     * @throws MailboxException when the creation fails for other reasons
     */
    public MailboxSession createSystemSession(String userName, Log log) throws BadCredentialsException, MailboxException;

    /**
     * Autenticates the given user against the given password.
     * When authentic and authorized, a session will be supplied
     * @param userid
     *            user name
     * @param passwd
     *            password supplied
     * @param log context sensitive log    
     * @return a <code>MailboxSession</code> when the user is authentic and authorized to access
     * @throws BadCredentialsException when system access is denighed for the given user
     * @throws MailboxException when the creation fails for other reasons
     */
    MailboxSession login(String userid, String passwd, Log log) throws BadCredentialsException, MailboxException;
    
    /**
     * <p>Logs the session out, freeing any resources.
     * Clients who open session should make best efforts to call this
     * when the session is closed.
     * </p>
     * <p>
     * Note that clients may not always be able to call logout (whether forced or not).
     * Mailboxes that create sessions which are expensive to maintain
     * <code>MUST</code> retain a reference and periodically check {@link MailboxSession#isOpen()}.
     * </p>
     * <p>
     * Note that implementations much be aware that it is possible that this method 
     * may be called more than once with the same session.
     * </p>
     * @param session not null
     * @param force true when the session logout is forced by premature connection termination
     * @throws MailboxException when logout fails
     */
    void logout(MailboxSession session, boolean force) throws MailboxException;

> Improve Mailbox API for authentication, login and logout 
> ---------------------------------------------------------
>
>                 Key: IMAP-84
>                 URL: https://issues.apache.org/jira/browse/IMAP-84
>             Project: JAMES Imap
>          Issue Type: Improvement
>          Components: Mailbox
>    Affects Versions: 0.1
>            Reporter: Robert Burrell Donkin
>            Assignee: Robert Burrell Donkin
>             Fix For: 0.1
>
>
> Review and revise design of Mailbox API around authentication, login and logout 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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