You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Tyson Norris (JIRA)" <ji...@apache.org> on 2013/01/11 06:12:13 UTC

[jira] [Commented] (SLING-2708) ResourceUtil.isA() fails for adapted Resources unless user is admin

    [ https://issues.apache.org/jira/browse/SLING-2708?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13550829#comment-13550829 ] 

Tyson Norris commented on SLING-2708:
-------------------------------------

I think other Resource methods may expose Resource objects that have similar behavior 

e.g. parent Resource can be tested for super types in ResourceUtil.isA(), but resource returned via parent.getChildren() probably cannot tested for super types.

I haven't tested this yet though.
                
> ResourceUtil.isA() fails for adapted Resources unless user is admin
> -------------------------------------------------------------------
>
>                 Key: SLING-2708
>                 URL: https://issues.apache.org/jira/browse/SLING-2708
>             Project: Sling
>          Issue Type: Bug
>          Components: ResourceResolver
>            Reporter: Tyson Norris
>
> Summary - adapting a Resource to a specified type, loses the ability to test the Resources super types using ResourceUtil.isA(), UNLESS user is admin
> 1. TypeA is defined as:
> class TypeA {
>     private Resource res;
>     public boolean isTypeB(){
>         return ResourceUtil.isA(res, "some/type");
>     }
> }
> 2. TypeA adapter is an AdapterFactory to adapt Resource -> TypeA
> 3. /some/res/path is a resource whose sling:resourceSuperType 2 levels up is "/apps/some/type"
> 4. In a JSP, we use code like:
> TypeA typeA = resource.adaptTo(TypeA)
> if (!typeA.isTypeB()){
>     //FAIL: typeA.isTypeB() is actually true
> }
> Note that:
> ResourceUtil.isA(resource, "some/type") == true
> but
> ResourceUtil.isA(typeA.resource, "some/type") == false
> (unless user is admin)

--
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