Autorizzazione Delivery in cache sensibile

Obiettivo

Come abilitare i permessi per la funzione di memorizzazione in cache sensibile del modulo dispatcher.

Passaggi

 

Questa caratteristica richiede un servlet aggiuntivo, che sarà distribuito ad AEM (devi codificare un servlet che risponde alle richieste HEAD per restituire il codice HTTP corretto). Dopo la distribuzione, per verificare se un utente ha il permesso di accedere ad alcuni URI in cache, si richiede /bin/permissioncheck.html?uri=<handle>

  1. Per abilitare i permessi alla memorizzazione in cache sensibile, aggiungi la seguente sezione alla tua società nel file di configurazione dispatcher.any.  La configurazione di esempio qui sotto permette di controllare solo le pagine 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. Successivamente, implementa e distribuisci un servlet come l'esempio qui sotto che risponde alle richieste HEAD.  Nota che una risposta 200 significa che l'utente ha accesso per recuperare il file direttamente dalla cache del distributore.  Uno stato diverso da 200 significa che la richiesta non sarà servita dalla cache.

    Di seguito è riportato un esempio di codice che implementa il servlet per AEM 6 (grazie a Dominique):

     

    
    		
    	
    
    
    
    
    
    

[1] Codice di esempio

Codice esemplificativo per il permesso del servlet di memorizzazione in cache sensibile. Il servlet sotto risponde alle richieste HEAD con una risposta di 200 se l'utente autenticato ha accesso a visualizzare l'URI specificato.

Nota:

Codice esemplificativo per il permesso del servlet di memorizzazione in cache sensibile.  Il servlet sotto risponde alle richieste HEAD con una risposta di 200 se l'utente autenticato ha accesso a visualizzare l'URI specificato.

Prodotti interessati:

Dispatcher 4.0.2+ e AEM 6.x

Logo Adobe

Accedi al tuo account