Package org.apache.sling.resourceresolver.impl

Examples of org.apache.sling.resourceresolver.impl.ResourceAccessSecurityTracker


        MockResourceResolverFactoryActivator activator = new MockResourceResolverFactoryActivator();
        activator.bindResourceProvider(resourceProvider,
                getServiceReferenceProperties(resourceProviderServiceReference));
        activator.activate(componentContext);
        CommonResourceResolverFactoryImpl commonFactoryImpl = new CommonResourceResolverFactoryImpl(activator);
        ResourceResolverContext context = new ResourceResolverContext(true, authenticationInfo, new ResourceAccessSecurityTracker());
        ResourceResolverImpl resourceResolver = new ResourceResolverImpl(commonFactoryImpl, context);
        return resourceResolver;
    }
View Full Code Here


        assertEquals(resolver, res.getResourceResolver());
    }

    private ResourceResolverContext getResourceResolverContext() {
        final ResourceResolverContext ctx = Mockito.mock(ResourceResolverContext.class);
        Mockito.when(ctx.getResourceAccessSecurityTracker()).thenReturn(new ResourceAccessSecurityTracker());
        return ctx;
    }
View Full Code Here

        final ResourceProviderImpl rp1 = new ResourceProviderImpl(null, 1L);
        final AdaptableResourceProviderImpl rp2 = new AdaptableResourceProviderImpl(null, 2L);
        final AdaptableResourceProviderImpl rp3 = new AdaptableResourceProviderImpl(new String[] {"/hello"}, 3L);
        final ResourceProviderImpl rp4 = new ResourceProviderImpl(new String[] {"/you"}, 4L);

        final ResourceResolverContext ctx = new ResourceResolverContext(false, null, new ResourceAccessSecurityTracker());

        final SortedProviderList<Adaptable> spl = new SortedProviderList<Adaptable>(Adaptable.class);
        check(spl, ctx);
        spl.add(new ResourceProviderFactoryHandler(new ResourceProviderFactoryImpl(rp1), rp1.getProperties()));
        check(spl, ctx);
View Full Code Here

        final AdaptableResourceProviderImpl rp2 = new AdaptableResourceProviderImpl(null, 2L);
        final AdaptableResourceProviderImpl rp3 = new AdaptableResourceProviderImpl(new String[] {"/b"}, 3L);
        final AdaptableResourceProviderImpl rp4 = new AdaptableResourceProviderImpl(new String[] {"/a/a"}, 4L);
        final AdaptableResourceProviderImpl rp5 = new AdaptableResourceProviderImpl(new String[] {"/all/or/nothing"}, 5L);

        final ResourceResolverContext ctx = new ResourceResolverContext(false, null, new ResourceAccessSecurityTracker());

        final SortedProviderList<Adaptable> spl = new SortedProviderList<Adaptable>(Adaptable.class);
        check(spl, ctx);
        spl.add(new ResourceProviderFactoryHandler(new ResourceProviderFactoryImpl(rp1), rp1.getProperties()));
        check(spl, ctx, rp1);
View Full Code Here

        assertNotNull(root.getResource(getResourceResolverContext(), null, servletpath, true));
    }

    private ResourceResolverContext getResourceResolverContext() {
        final ResourceResolverContext ctx = Mockito.mock(ResourceResolverContext.class);
        Mockito.when(ctx.getResourceAccessSecurityTracker()).thenReturn(new ResourceAccessSecurityTracker());
        return ctx;
    }
View Full Code Here

            this.queryLanguages = configuredLanguages;
        }
    }

    public boolean canCreate(final ResourceResolverContext ctx, final ResourceResolver resolver, final String path) {
        final ResourceAccessSecurityTracker tracker = ctx.getResourceAccessSecurityTracker();
        boolean allowed = true;
        if ( useResourceAccessSecurity ) {
            final ResourceAccessSecurity security = tracker.getProviderResourceAccessSecurity();
            if ( security != null ) {
                allowed = security.canCreate(path, resolver);
            } else {
                allowed = false;
            }
        }

        if ( allowed ) {
            final ResourceAccessSecurity security = tracker.getApplicationResourceAccessSecurity();
            if (security != null) {
                allowed = security.canCreate(path, resolver);
            }
        }
        return allowed;
View Full Code Here

        }
        return allowed;
    }

    public boolean canDelete(final ResourceResolverContext ctx, final Resource resource) {
        final ResourceAccessSecurityTracker tracker = ctx.getResourceAccessSecurityTracker();
        boolean allowed = true;
        if ( useResourceAccessSecurity ) {
            final ResourceAccessSecurity security = tracker.getProviderResourceAccessSecurity();
            if ( security != null ) {
                allowed = security.canDelete(resource);
            } else {
                allowed = false;
            }
        }

        if ( allowed ) {
            final ResourceAccessSecurity security = tracker.getApplicationResourceAccessSecurity();
            if (security != null) {
                allowed = security.canDelete(resource);
            }
        }
        return allowed;
View Full Code Here

    /**
     * applies resource access security if configured
     */
    protected Resource getReadableResource ( final ResourceResolverContext ctx, Resource resource ) {
        final ResourceAccessSecurityTracker tracker = ctx.getResourceAccessSecurityTracker();

        Resource returnValue = null;

        if (useResourceAccessSecurity && resource != null) {
            final ResourceAccessSecurity resourceAccessSecurity = tracker.getProviderResourceAccessSecurity();
            if (resourceAccessSecurity != null) {
                returnValue = resourceAccessSecurity.getReadableResource(resource);
            }
        } else {
            returnValue = resource;
        }

        if ( returnValue != null ) {
            final ResourceAccessSecurity resourceAccessSecurity = tracker.getApplicationResourceAccessSecurity();
            if (resourceAccessSecurity != null) {
                returnValue = resourceAccessSecurity.getReadableResource(returnValue);
            }
        }

View Full Code Here

    /**
     * applies resource access security if configured
     */
    protected String transformQuery ( final ResourceResolverContext ctx, final ResourceResolver resolver, final String query, final String language ) {
        final ResourceAccessSecurityTracker tracker = ctx.getResourceAccessSecurityTracker();

        String returnValue = query;

        if (useResourceAccessSecurity) {
            final ResourceAccessSecurity resourceAccessSecurity = tracker
                    .getProviderResourceAccessSecurity();
            if (resourceAccessSecurity != null) {
                try {
                    returnValue = resourceAccessSecurity.transformQuery(
                            returnValue, language, resolver);
                } catch (AccessSecurityException e) {
                    logger.error(
                            "AccessSecurityException occurred while trying to transform the query {} (language {}).",
                            new Object[] { query, language }, e);
                }
            }
        }

        final ResourceAccessSecurity resourceAccessSecurity = tracker
                .getApplicationResourceAccessSecurity();
        if (resourceAccessSecurity != null) {
            try {
                returnValue = resourceAccessSecurity.transformQuery(
                        returnValue, language, resolver);
View Full Code Here

            PrivateAccessor.setField(activator, "mappings", new Mapping[] { new Mapping("/-/"), new Mapping(rootPath + "/-/") });

            // ensure namespace mangling
            PrivateAccessor.setField(activator, "mangleNamespacePrefixes", true);
           
            ResourceAccessSecurityTracker rast = new ResourceAccessSecurityTracker();
            PrivateAccessor.setField(activator, "resourceAccessSecurityTracker",rast);
           

            CommonResourceResolverFactoryImpl commonFactory = new CommonResourceResolverFactoryImpl(activator);
           
View Full Code Here

TOP

Related Classes of org.apache.sling.resourceresolver.impl.ResourceAccessSecurityTracker

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.