带有 Sling 8.. 403 响应的 ResourceProvider
ResourceProvider with Sling 8.. 403 response
我需要在 Sling 中提供 Restful API,但对于一些不在存储库中的数据...此 API 将代理到其他外部数据存储。
Sling 开发人员建议创建 ResourceProvider。我已经创建了这个 ResourceProvider 实现,但是当我请求它时收到 403:
@Component
@Service(value=ResourceProvider.class)
@Properties({
@Property(name = ResourceProvider.ROOTS, value = "things"),
@Property(name = ResourceProvider.OWNS_ROOTS, value = "true")
})
public class ImageResourceProvider implements ResourceProvider {
@Override
public Resource getResource(ResourceResolver resourceResolver, String path) {
Resource returnResource = new SyntheticResource(resourceResolver, path, "edlio/microservice/image");
returnResource.getValueMap().put("myProp" , "myValue");
return returnResource;
}
@Override
public Resource getResource(ResourceResolver resourceResolver, HttpServletRequest httpServletRequest, String path) {
return getResource(resourceResolver , path);
}
@Override
public Iterator<Resource> listChildren(Resource resource) {
return null;
}
当我转到 /things 时,我得到了 403。我如何控制这个不存在的资源的 authentication/authorization 规则?
此外,我无法使用 ResourceProvider 示例代码 here,因为它使用了不在 Sling 8 中的 spi 包...Sling 8 使用旧版本的 sling api 包.
我自己解决了这个问题并在这里发布了我的答案:
Adobe CQ5 custom servlet path
从lance.dolan
中搜索答案
我需要在 Sling 中提供 Restful API,但对于一些不在存储库中的数据...此 API 将代理到其他外部数据存储。
Sling 开发人员建议创建 ResourceProvider。我已经创建了这个 ResourceProvider 实现,但是当我请求它时收到 403:
@Component
@Service(value=ResourceProvider.class)
@Properties({
@Property(name = ResourceProvider.ROOTS, value = "things"),
@Property(name = ResourceProvider.OWNS_ROOTS, value = "true")
})
public class ImageResourceProvider implements ResourceProvider {
@Override
public Resource getResource(ResourceResolver resourceResolver, String path) {
Resource returnResource = new SyntheticResource(resourceResolver, path, "edlio/microservice/image");
returnResource.getValueMap().put("myProp" , "myValue");
return returnResource;
}
@Override
public Resource getResource(ResourceResolver resourceResolver, HttpServletRequest httpServletRequest, String path) {
return getResource(resourceResolver , path);
}
@Override
public Iterator<Resource> listChildren(Resource resource) {
return null;
}
当我转到 /things 时,我得到了 403。我如何控制这个不存在的资源的 authentication/authorization 规则?
此外,我无法使用 ResourceProvider 示例代码 here,因为它使用了不在 Sling 8 中的 spi 包...Sling 8 使用旧版本的 sling api 包.
我自己解决了这个问题并在这里发布了我的答案: Adobe CQ5 custom servlet path
从lance.dolan
中搜索答案