如何在 AEM 中对站点管理员隐藏页面?

How to hide page from siteadmin in AEM?

我有一个 resourceType="this/is/a/test" 的 Sling Servlet。

@SlingServlet(methods = { "GET" })
@Properties({ @Property(name = "service.pid", value = "com.test.TestServlet", propertyPrivate = false),
    @Property(name = "sling.servlet.resourceTypes", value = {"this/is/a/test"})})
public class TestServlet extends SlingSafeMethodsServlet {

我有一个 MSM 结构,蓝图中有品牌和区域设置。

    SampleBlueprint
        Organization One
            en_US
               Home Page
               Contact US
               bin
                  test-servlet

   SampleLiveCopies
        Organization One
           America
              en_US
                 Home Page
                 Contact US
                 bin
                    test-servlet
              fr_US
                 Home Page
                 Contact US
                 bin
                    test-servlet
           Canada
              en_CA
                 Home Page
                 Contact US
                 bin
                    test-servlet

测试 servlet 有 sling:resourceType="this/is/a/test".

在 servlet 中,我利用路径来确定响应。 前任: 如果路径是 /content/SampleLiveCopies/OrganizationOne/America/en_US/bin/test-servlet 我会 return 与美国相关的英语数据。

但是由于页面 "bin/test-servlet" 在站点管理中可见,作者可以控制编辑它。

因此我想在站点管理中隐藏 bin/test-servlet 页面。

当你想隐藏页面时 - 你在 jcr 上使用 属性 hidden 和值 true :content 页面。我敢打赌,会有类似的方法。试一试。