[
https://issues.apache.org/jira/browse/JCR-3634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13723651#comment-13723651
]
Michael Dürig commented on JCR-3634:
------------------------------------
> I'd rather keep the explicit workspace argument, with null for the default
> workspace like in the existing login() methods.
Ack.
> And the proposed definition leaves something like login(new
> GuestCredentials(), Collections.singletonMap("AutoRefresh", true))
> undefined...
No it doesn't. But then my definition might be somewhat terse. Which attribute
would take precedence in your case when there is a conflict between the ones
one the Credential instance and the explicitly passed ones? That's the issue I
wanted to avoid with my definition.
> Note the last paragraph of the definition, which allows the following naive
> default implementation...
Good point!
> New method: JackrabbitRepository.login(Credentials, Map<String, Object>)
> ------------------------------------------------------------------------
>
> Key: JCR-3634
> URL: https://issues.apache.org/jira/browse/JCR-3634
> Project: Jackrabbit Content Repository
> Issue Type: New Feature
> Components: jackrabbit-api
> Affects Versions: 2.7.1
> Reporter: Michael Dürig
>
> As discussed [1] we need a way for passing session attributes on login
> without having to fall back to credentials. The latter might not support
> credentials or not be present at all when authentication is handled
> externally.
> I suggest to add the following method to JackrabbitRepository:
> /**
> * Equivalent to <code>login(credentials, workspace)</code> where
> * <ul>
> * <li><code>workspace = attributes.get(ATT_WORKSPACE_NAME)</code>,</li>
> * <li><code>credentials</code> carry all and only the attributes passed
> * through the <code>attributes</code> map.</li>
> * </ul>
> *
> * @param credentials the credentials of the user
> * @param attributes the attributes to put into the session
> * @return a valid session for the user to access the repository.
> * @throws javax.jcr.LoginException if authentication or authorization for
> the
> * specified workspace fails.
> * @throws javax.jcr.NoSuchWorkspaceException if the specified workspace is
> not recognized.
> * @throws javax.jcr.RepositoryException if another error occurs.
> */
> Session login(Credentials credentials, Map<String, Object> attributes);
> See also OAK-803 for some more background.
> [1] http://markmail.org/message/lwhpglehee3jgpip
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira