Entrega de Armazenamento de Cache Sensível a Permissão

Objetivo

Como habilitar o recurso de armazenamento de cache sensível a permissão do módulo do dispatcher.

Etapas

 

Esse recurso requer um servlet adicional, que será implementado no AEM (você precisa codificar um servlet que responda às solicitações HEAD para retornar o código HTTP correto). Após a implantação, o processo de verificar se um usuário tem permissão para acessar alguma URL em cache é feito solicitando /bin/permissioncheck.html?uri=<handle>

  1. Para habilitar o armazenamento em cache sensível a permissão, adicione a seguinte seção ao farm no arquivo de configuração dispatcher.any.  A configuração de amostra abaixo permite verificar somente páginas HTML.

    # Authorization checker: before a page in the cache is delivered, a HEAD
    # request is sent to the URL specified in 'url' with the query string
    # '?uri=<page>'. If the response status is 200 (OK), the page is returned
    # from the cache. Otherwise, the request is forwarded to the render and
    # its response returned.
    /auth_checker
      {
      # request is sent to this URL with '?uri=<page>' appended
      /url "/bin/permissioncheck.html"
          
      # only the requested pages matching the filter section below are checked,
      # all other pages get delivered unchecked
      /filter
        {
        /0000
          {
          /glob "*"
          /type "deny"
          }
        /0001
          {
          /glob "*.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"
          }
        }
      }
  2. Em seguida, implemente um servlet como o exemplo abaixo, que responda às solicitações HEAD.  Observe que uma resposta 200 significa que o usuário tem acesso para recuperar o arquivo diretamente do cache do dispatcher.  Qualquer outro status, exceto 200, significa que a solicitação não será atendida a partir do cache.

    Abaixo está o código de amostra que implementa o servlet para o AEM 6 (graças a Dominique):

     

    
    		
    	
    
    
    
    
    
    

[1] Código de amostra

Código de amostra para o servlet de armazenamento em cache sensível a permissão. O servlet abaixo responde às solicitações HEAD com uma resposta 200 se o usuário autenticado tiver acesso para visualizar a URL especificada.

Observação:

Código de amostra para o servlet de armazenamento em cache sensível a permissão.  O servlet abaixo responde às solicitações HEAD com uma resposta 200 se o usuário autenticado tiver acesso para visualizar a URL especificada.

Aplica-se a

Dispatcher 4.0.2+ e AEM 6.x

Logotipo da Adobe

Fazer logon em sua conta