Domanda
Come impostare Closed User Group (CUG) in CQ5?
I CUG sono sezioni di un sito web pubblico che necessitano di login per accedere.
Obiettivo
- deve essere possibile definire una pagina o un albero di pagine sull'autore da proteggere nell'istanza di publish
- protetto significa che è necessario effettuare il login per vedere la pagina o le pagine corrispondenti nell'istanza di publish
- deve essere possibile selezionare un gruppo per CUG. Tutti i membri di questo gruppo devono avere accesso in lettura alla pagina o alle pagine del CUG
Risposta, Soluzione
Impostazione dello scenario
Hai bisogno di un autore e di un'istanza di publish con replica attivata.
Preparazione
Importante: Installa HotFix 24321 sull'autore e pubblica il sistema. Probabilmente sarà necessario riavviare il sistema dopo aver installato il pacchetto di contenuti, dato che il modulo di sicurezza incluso è una dipendenza da una serie di altri componenti principali di CQ e il sistema non sembra recuperare abbastanza bene dall'aggiornamento del bundle live.
A. Utenti e gruppi
- crea un nuovo gruppo "membersonly"
- creare un nuovo utente "mister x"
- rendere l'utente "mister x" membro del gruppo "membersonly"
- rendi "membersonly" membro del gruppo "surfer"
- rendi l'utente "anonymous" membro del gruppo "surfer" (a causa di (1))
- attiva (Nota: L'ordine qui sotto è importante! Le appartenenze di gruppo non sono correttamente replicate se i membri non esistono già al momento su publish)
- "mister X"
- "membersonly"
- "surfer"
- rimuovi l'iscrizione "anonymous" dal gruppo "surfer" - e non attivarla (a causa di (1))
(1): L'utente "anonymous" deve essere membro del gruppo "surfer" solo su istanze di publish, ma non su istanze d'autore (altrimenti non è più necessario effettuare il login su un'istanza d'autore e tutti possono vedere l'intera istanza del tuo autore!)
Nota: Se non vuoi fare questa procedura con l'aggiunta e la rimozione dell'appartenenza utente "anonimo" dal gruppo "surfer" puoi anche creare un gruppo separato (es. CugRootGroup) che è membro del gruppo surger e impostare gli specifici gruppi CUG (come "membersonly" del gruppo) come membro di questo gruppo. Con questo devi attivare il gruppo "surfer" solo una volta e dopo solo questo gruppo separato quando si aggiunge un gruppo CUG specifico.
B. Contenuto sicuro
- scegli la pagina che desideri proteggere
- apri le proprietà della pagina nella scheda "CUG"
- abilita CUG e seleziona il gruppo "membersonly" - vedi screenshot
- attiva la pagina
C. Fornisci l'accesso
- crea un link su una pagina pubblica ad una pagina all'interno del CUG
- attiva quella pagina
- vai a pubblica istanza
- visita l'ultima pagina attivata
- fai clic sul link
- vieni reindirizzato alla pagina di login - login con "mister x"
- adesso vedi il contenuto che è protetto
Problemi di prodotto / Soluzioni
Bug 22360: il link checker rimuove i link in CUG
Soluzione alternativa:
- accedi a
http://<host>:<port>/system/console/configMgr/com.day.cq.rewriter.linkchecker.impl.LinkCheckerImpl
- aggiungi il percorso CUG nella sezione "Link Check Override Patterns" - vedi screenshot
- salva la configurazione
Bug 23060: i cambiamenti di affiliazione non si replicano sul membro
Soluzione alternativa:
- replica anche il gruppo
Bug 24422: CUG: L'ordine di replica dei membri del gruppo è importante
Soluzione alternativa:
- attiva sempre prima gli utenti, poi i gruppi contenenti gli utenti e infine i gruppi contenenti gruppi (ad es. il gruppo dei navigatori)
Bug 24983: la pagina di login configurata viene ignorata
Soluzione alternativa:
- puoi sovrapporre il componente del modulo di login in /libs/wcm/auth/components/login sull'istanza Publish con uno in apps (/apps/wcm/auth/components/login). In /apps/wcm/auth/components/login/login.jsp si può per esempio aggiungere la logica specifica del progetto per moduli di login separati per CUG, cioè reindirizzando o implementando direttamente in questo jsp.
Nota: Ci sono alcuni report isolati delle impostazioni di configurazione di OSGi o dei file JSP e JavaScript nel pacchetto di contenuti che non vengono attivati quando il pacchetto è installato. In questi casi:
- aggiorna la cache del browser (se riscontri problemi di attivazione nell'User Manager)
- controlla e salva nuovamente (cug.supported dovrebbe essere vero, non sono necessarie modifiche) la configurazione OSGi del componente HTTPAuthHandler (se le pagine CUG non sono protette in Publish)
- aggiorna la data jcr:lastModified del nodo /libs/sling/servlet/errorhandler/404.jsp/jcr:content in CRX explorer (se ottieni un errore 404 invece della schermata di login per le pagine CUG in Publish)
Prodotti interessati:
CQ5.2.1 con HotFix 24321