我知道我可以为授权用户通过调用的页面激活缓存

/allowAuthorized "1"


/cache部分中。

但是,如果页面被缓存,它将被传递给所有调用它的人,甚至是匿名用户。我可以以某种方式检查是否允许用户查看内容吗?

最佳答案

看一下(1)。

您可以配置/ auth_checker节来定义


url:指向脚本/ servlet的URL,如果请求了有效页面,则将通过HEAD请求进行调用。如果页面在/type "allow"的过滤器部分中,则该页面有效
filter:定义应检查的路径以及未检查的传递路径。
headers:在此处配置在servlet中设置的其他标头,并应转到前端


这是Adobe在线文档中的示例配置:

/auth_checker
  {
  # request is sent to this URL with '?uri=<page>' appended
  /url "/bin/permissioncheck"

  # only the requested pages matching the filter section below are checked,
  # all other pages get delivered unchecked
  /filter
    {
    /0000
      {
      /glob "*"
      /type "deny"
      }
    /0001
      {
      /glob "/content/secure/*.html"
      /type "allow"
      }
    }
  # any header line returned from the auth_checker's HEAD request matching
  # the section below will be returned as well
  /headers
    {
    /0000
      {
      /glob "*"
      /type "deny"
      }
    /0001
      {
      /glob "Set-Cookie:*"
      /type "allow"
      }
    }
  }


在页面上还有一个示例servlet,可用于检查AEM中用户的权限。

(1):https://docs.adobe.com/docs/en/dispatcher/permissions-cache.html

关于aem - CQ-Dispatcher:如何使用allowAuthorized,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38534909/

10-10 08:46