Hi,
Am 01.03.2013 um 17:29 schrieb Angela Schreiber:
> hi felix
>
> that makes sense. in general i would suggest to consistently use
> GuestCredentials and get rid of the jr-core-null workaround that
> in fact relies on an comfortable but somewhat incorrect
> implementation detail...
Not having GuestCredentials, our use of the "anonymous credentials" was in fact
done to prevent using the jr-core-null "sideeffect". But GuestCredentials is
better for sure.
>
> hope that helps
Sure does ;-)
Regards
Felix
> angela
>
> On 3/1/13 11:29 AM, Felix Meschberger wrote:
>> Hi
>>
>> Yes, we assume this under the "backwards compatibility" umbrella. IIRC
>> Jackrabbit supported the null-argument in this way, too. So we just made it
>> explicit.
>>
>> What we might want to change, though, is to use JCR 2 GuestCredentials
>> instead of doing our own anonmous login stuff and thus get rid of the
>> PluggableLoginModule for anonnyous access.
>>
>> we could also improve a bit by checking for an access control context:
>>
>>> if (credentials == null) {
>>> if (hasAccessControlContext()&& hasSubject()) {
>>> // assume "external" authentication
>>> } else {
>>> // assume backwards compatibility anon login
>>> credentials = new GuestCredentials();
>>> }
>>> }
>>>
>>
>> WDYT ?
>>
>> Regards
>> Felix
>>
>> Am 01.03.2013 um 10:43 schrieb Antonio Sanso (JIRA):
>>
>>> Antonio Sanso created SLING-2762:
>>> ------------------------------------
>>>
>>> Summary: AbstractSlingRepository#login violates JCR spec
>>> Key: SLING-2762
>>> URL: https://issues.apache.org/jira/browse/SLING-2762
>>> Project: Sling
>>> Issue Type: Bug
>>> Components: JCR
>>> Reporter: Antonio Sanso
>>>
>>>
>>> AbstractSlingRepository#login seems to violate the javax.jcr.Repository
>>> spec.
>>>
>>> The API [0] says
>>>
>>> " If credentials is null, it is assumed that authentication is handled by a
>>> mechanism external to the repository itself (for example, through the JAAS
>>> framework) and that the repository implementation exists within a context
>>> (for example, an application server) that allows it to handle authorization
>>> of the request for access to the specified workspace."
>>>
>>> while the implementation looks like
>>>
>>> {code}
>>> ...
>>> if (credentials == null) {
>>> credentials = getAnonCredentials(this.anonUser);
>>> }
>>> ...
>>>
>>> {code}
>>>
>>>
>>> [0]
>>> http://www.day.com/maven/jsr170/javadocs/jcr-2.0/javax/jcr/Repository.html#login%28javax.jcr.Credentials,%20java.lang.String%29
>>>
>>> --
>>> 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
>>
>>
>> --
>> Felix Meschberger | Principal Scientist | Adobe
>>
>>
>>
>>
>>
>>
>>
--
Felix Meschberger | Principal Scientist | Adobe