2017-01-27 10 views
1

スリングではリラティブAPIを提供する必要がありますが、リポジトリに含まれていないデータについては...このAPIは他の外部データストアをプロキシします。ResourceProvider with Sling 8 .. 403レスポンス

スリング開発者は、ResourceProviderの作成をお勧めします。

@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; 
} 

私は物事/に行くとき、私はこのための認証/認可規則を制御することができますどのように403を取得する:私は、私はそれを要求したときしかし、私は403を取得しています、これのResourceProviderの実装を作成しました存在しないリソースですか?

また、ResourceProviderサンプルコードhereを使用することはできません。これは、Sling 8の内部にないspiパッケージを使用するためです。Sling 8は、古いバージョンのsling apiパッケージを使用します。

答えて