Sincronizzazione utente

Introduzione

Quando la distribuzione è una farm di pubblicazione, i membri devono essere in grado di accedere e visualizzare i propri dati su qualsiasi nodo di pubblicazione.

Gli utenti e i gruppi di utenti (dati utente) creati nell’ambiente di pubblicazione non sono necessari nell’ambiente di authoring.

La maggior parte dei dati utente creati nell’ambiente di authoring deve restare nell’ambiente di authoring e non deve essere copiata nelle istanze di pubblicazione.

Per poter accedere agli stessi dati utente, le registrazioni e le modifiche effettuate su un’istanza di pubblicazione devono essere sincronizzate con altre istanze di pubblicazione.

A partire AEM 6.1, quando la sincronizzazione degli utenti è abilitata, i dati utente vengono automaticamente sincronizzati tra le istanze di pubblicazione nella farm e non vengono creati in fase di creazione.

Distribuzione Sling

I dati utente, insieme ai rispettivi ACL, sono memorizzati in Oak Core, il livello sotto Oak JCR, e sono accessibili tramite l'API Oak API. Con aggiornamenti non frequenti, è ragionevole che i dati utente siano sincronizzati con altre istanze di pubblicazione utilizzando Sling Content Distribution (distribuzione Sling).

Rispetto alla replica tradizionale, i vantaggi della sincronizzazione utente mediante la distribuzione Sling sono:

  • gli utenti, i profili utente e i raggruppamenti di utenti creati al momento della pubblicazione non vengono creati in fase di creazione

  • La distribuzione Sling imposta le proprietà negli eventi jcr, consentendo di agire all'interno dei listener di eventi lato pubblicazione senza preoccuparsi di cicli di replica infiniti

  • La distribuzione Sling invia solo i dati utente alle istanze di pubblicazione non originarie, eliminando il traffico non necessario

  • ACLsset nel nodo utente sono inclusi nella sincronizzazione

NOTA

Se sono necessarie sessioni, si consiglia di utilizzare una soluzione SSO o una sessione fissa e di fare in modo che i clienti accedano se accedono a un altro editore.

ATTENZIONE

La sincronizzazione del gruppo *Administrators *non è supportata, anche quando la sincronizzazione utente è abilitata. Al contrario, un'operazione di importazione delle diff verrà registrata nel registro degli errori.

Pertanto, se la distribuzione è una pubblicazione farm, se un utente viene aggiunto o rimosso dal gruppo *Administrators *, la modifica deve essere eseguita manualmente su ogni istanza di pubblicazione.

Abilita sincronizzazione utente

NOTA

Per impostazione predefinita, la sincronizzazione utente è disabled.

L'abilitazione della sincronizzazione utente comporta la modifica delle configurazioni OSGi esistenti.

Non è necessario aggiungere nuove configurazioni per abilitare la sincronizzazione degli utenti.

La sincronizzazione utente si basa sull’ambiente di authoring per gestire le distribuzioni dei dati utente, anche se i dati utente non vengono creati in fase di creazione. Gran parte, ma non tutti, della configurazione avviene nell’ambiente di authoring e ogni passaggio indica chiaramente se deve essere eseguita sull’autore o sulla pubblicazione.

Di seguito sono riportati i passaggi necessari per abilitare la sincronizzazione degli utenti, seguiti da una sezione Risoluzione dei problemi:

Prerequisiti

  1. Se utenti e gruppi di utenti sono già stati creati su un editore, si consiglia di sincronizzare manualmente i dati utente a tutti gli editori prima di configurare e abilitare la sincronizzazione utente.

    Una volta attivata la sincronizzazione degli utenti, vengono sincronizzati solo gli utenti e i gruppi appena creati.

  2. Verifica che sia stato installato il codice più recente:

1. Apache Sling Distribution Agent - Sync Agent Factory

Abilita sincronizzazione utente

  • sull'autore

    • accesso con privilegi di amministratore

    • accedere alla console Web

    • individuare Apache Sling Distribution Agent - Sync Agents Factory

      • selezionate la configurazione esistente da aprire per la modifica (icona matita)

        Verifica name: socialpubsync

      • selezionare la casella di controllo Enabled

      • select Save

chlimage_1-387

2. Crea utente autorizzato

Configura
autorizzazioni: questo utente autorizzato verrà utilizzato nel passaggio 3 per configurare la distribuzione Sling per l’autore.

ATTENZIONE

È necessario creare un nuovo utente.

  • L'utente predefinito assegnato è admin.
  • Non utilizzare *communities-user-admin *user*.*

Come aggiungere ACL

  • crxde lite di accesso

  • selezionare il nodo /home

  • nel riquadro a destra, selezionare la scheda Access Control

  • selezionare il pulsante + per aggiungere una voce ACL

    • Principal: cercare gli utenti creati per la sincronizzazione degli utenti
    • Tipo: Allow
    • Privilegi: jcr:all
    • ​Restrictionsrep:idspn: */activities/*
    • selezionare OK
  • selezionare Salva tutto

chlimage_1-388

Consulta anche

3. Distribuzione granite Adobe - Provider segreto di trasporto password crittografata

Configurare le autorizzazioni

Una volta creato un utente autorizzato, membro del gruppo di utenti administrators​in tutte le istanze di pubblicazione, tale utente autorizzato deve essere identificato all'autore come dotato dell'autorizzazione per sincronizzare i dati utente dall'autore alla pubblicazione.

  • sull'autore

    • accesso con privilegi di amministratore

    • accedere alla console Web

    • individuare com.adobe.granite.distribution.core.impl.CryptoDistributionTransportSecretProvider.name

    • selezionate la configurazione esistente da aprire per la modifica (icona matita)

      Verifica property name : socialpubsync-publishUser

    • impostare nome utente e password per l' utente autorizzato creato al momento della pubblicazione nel passaggio 2

      • ad esempio, usersync-admin

chlimage_1-389

4. Agente di distribuzione Apache Sling - Coda Agenti Factory

Abilita sincronizzazione utente

  • al momento della pubblicazione :

    • accesso con privilegi di amministratore

    • accedere alla console Web

    • individuare Apache Sling Distribution Agent - Queue Agents Factory

      • selezionate la configurazione esistente da aprire per la modifica (icona matita)

        Verifica Name : socialpubsync-reverse

      • selezionare la casella di controllo Enabled

      • select Save

    • Ripetizione per ogni istanza di pubblicazione

chlimage_1-390

5. Distribuzione granite Adobe - Diff Observer Factory

Abilita sincronizzazione gruppo

  • in ogni istanza di pubblicazione:

    • accesso con privilegi di amministratore

    • accedere alla console Web

    • individuare Adobe Granite Distribution - Diff Observer Factory

      • selezionate la configurazione esistente da aprire per la modifica (icona matita)

        Verifica agent name : socialpubsync-reverse

      • selezionare la casella di controllo Enabled

      • select Save

chlimage_1-391

6. Trigger di distribuzione Apache Sling - Pianificate Triggers Factory

(Facoltativo) modificare l’intervallo di polling

Per impostazione predefinita, l’autore effettua il sondaggio per le modifiche ogni 30 secondi. Per modificare questo intervallo:

  • sull'autore

    • accesso con privilegi di amministratore

    • accedere alla console Web

    • individuare Apache Sling Distribution Trigger - Scheduled Triggers Factory

      • selezionate la configurazione esistente da aprire per la modifica (icona matita)

        • Verifica Name : socialpubsync-scheduled-trigger
      • impostare la Interval in Seconds sull'intervallo desiderato

      • select Save

chlimage_1-392

Configurare per più istanze di pubblicazione

La configurazione predefinita è per una singola istanza di pubblicazione. Poiché l’abilitazione della sincronizzazione degli utenti consente di sincronizzare più istanze di pubblicazione, ad esempio per una farm di pubblicazione, è necessario aggiungere ulteriori istanze di pubblicazione alla fabbrica di sincronizzazione degli agenti.

7. Apache Sling Distribution Agent - Sync Agent Factory

Aggiungi istanze di pubblicazione:

  • sull'autore

    • accesso con privilegi di amministratore

    • accedere alla console Web

    • individuare Apache Sling Distribution Agent - Sync Agents Factory

      • selezionate la configurazione esistente da aprire per la modifica (icona matita)

        Verifica Name : socialpubsync

chlimage_1-393

  • Exporter
    Endpoints: deve essere presente un endpoint di esportazione per ogni editore. Ad esempio, se ci sono 2 editori, localhost:4503 e 4504, dovrebbero essere 2 voci:

    • http://localhost:4503/libs/sling/distribution/services/exporters/socialpubsync-reverse
    • http://localhost:4504/libs/sling/distribution/services/exporters/socialpubsync-reverse
  • Endpoint importazione:
    deve essere presente un endpoint di importazione per ogni editore. Ad esempio, se ci sono 2 editori, localhost:4503 e 4504, dovrebbero essere 2 voci:

    • http://localhost:4503/libs/sling/distribution/services/importers/socialpubsync
    • http://localhost:4504/libs/sling/distribution/services/importers/socialpubsync
  • select Save

8. AEM Communities User Sync Listener

(Facoltativo) Sincronizzare nodi JCR aggiuntivi

Se è necessario sincronizzare dati personalizzati tra più istanze di pubblicazione, effettuate le seguenti operazioni:

  • in ogni istanza di pubblicazione:

    • accesso con privilegi di amministratore

    • accedere alla console Web

    • individuare AEM Communities User Sync Listener

    • selezionate la configurazione esistente da aprire per la modifica (icona matita)

      Verifica Name: socialpubsync-scheduled-trigger

chlimage_1-394

  • Tipi di nodo

    Si tratta dell'elenco dei tipi di nodo che verranno sincronizzati. È necessario elencare qui qualsiasi tipo di nodo diverso da sling:Folder (sling:folder viene gestito separatamente).

    Elenco predefinito dei tipi di nodo da sincronizzare:

    • rep:Utente
    • nt:unstructured
    • nt:resource
  • Proprietà ignorabili

    Si tratta dell'elenco delle proprietà che verranno ignorate in caso di rilevamento di modifiche. Le modifiche apportate a queste proprietà potrebbero essere sincronizzate come effetto collaterale di altre modifiche (poiché la sincronizzazione è sempre a livello di nodo), ma le modifiche apportate a tali proprietà non attiveranno di per sé la sincronizzazione.

    Proprietà predefinita da ignorare:

    • cq:lastModified
  • Nodi ignorabili

    Percorsi secondari che verranno ignorati completamente durante la sincronizzazione. Nessun elemento all'interno di questi sottotracciati verrà sincronizzato in qualsiasi momento.

    Nodi predefiniti da ignorare:

    • .token
    • system
  • Cartelle distribuite

    La maggior parte delle sling:Folders vengono ignorate perché la sincronizzazione non è necessaria. Le poche eccezioni sono elencate qui.

    Cartelle predefinite da sincronizzare

    • segmenti/punteggio
    • social/relazioni
    • attività

9. ID Sling univoco

ATTENZIONE

Se l’ID Sling corrisponde a due o più istanze di pubblicazione, la sincronizzazione dei gruppi di utenti non riesce.

Se l’ID Sling è lo stesso per più istanze pubblicate in una farm di pubblicazione, i gruppi di utenti non verranno sincronizzati.

Per verificare che tutti i valori Sling ID siano diversi, in ogni istanza di pubblicazione:

  1. individuare http://<host>:<port>/system/console/status-slingsettings
  2. verificare il valore di Sling ID

chlimage_1-395

Se l’ID Sling di un’istanza di pubblicazione corrisponde all’ID Sling di qualsiasi altra istanza di pubblicazione, effettuate le seguenti operazioni:

  1. arrestate una delle istanze di pubblicazione con un ID Sling corrispondente

  2. nella directory crx-quickstart/launchpad/felix

    • cercare ed eliminare il file denominato sling.id.file

      • ad esempio, su un sistema Linux:

        rm -i $(find . -type f -name sling.id.file)

      • ad esempio, in un sistema Windows:

        use windows explorer and search for *sling.id.file*

  3. avviare l’istanza di pubblicazione

    • all’avvio, gli verrà assegnato un nuovo ID Sling
  4. verifica che l' Sling ID sia ora univoco

Ripetete questi passaggi finché tutte le istanze di pubblicazione non dispongono di un ID Sling univoco.

Vault Package Builder Factory

Per la corretta sincronizzazione degli aggiornamenti, è necessario modificare il generatore di pacchetti vault per la sincronizzazione utente:

  • su ogni istanza di pubblicazione AEM

  • accedere alla console Web

  • individuare la Apache Sling Distribution Packaging - Vault Package Builder Factor

    • Builder name: socialpubsync-vlt
  • seleziona l’icona di modifica

  • aggiungere due Package Filters :

    • /home/users|-.*/.tokens
    • /home/users|-.*/rep:cache
  • gestione criteri:

    • per sovrascrivere i nodi rep:policy esistenti con i nuovi, aggiungi un terzo Filtro pacchetto:

      • /home/users|+.*/rep:policy
    • per impedire la distribuzione dei criteri, impostare

      • Acl Handling : IGNORE

chlimage_1-396

Cosa Succede Quando …

Utente si registra o modifica il profilo in Pubblica

Per impostazione predefinita, gli utenti e i profili creati nell’ambiente di pubblicazione (registrazione automatica) non vengono visualizzati nell’ambiente di authoring.

Se la topologia è una farm di pubblicazione e la sincronizzazione utente è stata configurata correttamente, i profili *utente *e utente vengono sincronizzati nella farm di pubblicazione utilizzando la distribuzione Sling.

Utenti o gruppi di utenti creati utilizzando la console di sicurezza

Per impostazione predefinita, i dati utente creati nell’ambiente di pubblicazione non vengono visualizzati nell’ambiente di authoring e viceversa.

Quando si utilizza la console Amministrazione utente e sicurezza per aggiungere nuovi utenti nell'ambiente di pubblicazione, la sincronizzazione degli utenti sincronizzerà i nuovi utenti e i relativi membri del gruppo con altre istanze di pubblicazione, se necessario. La sincronizzazione utente sincronizza anche i gruppi di utenti creati tramite la console di protezione.

Risoluzione dei problemi

Come attivare la sincronizzazione degli utenti offline

Per ottimizzare la sincronizzazione degli utenti, per rimuovere un editore o sincronizzare manualmente i dati, la coda di distribuzione deve essere vuota e silenziosa.

Per verificare lo stato della coda di distribuzione:

  • autore:

    • utilizzando CRXDE Lite

      • cercare le voci in /var/sling/distribution/packages

        • nodi di cartella denominati con il pattern distrpackage_*
    • utilizzo di Gestione pacchetti

      • cercare pacchetti in sospeso (non ancora installati)

        • denominato con il pattern socialpubsync-vlt*
        • creato da communities-user-admin

Quando la coda di distribuzione è vuota, disattivate la sincronizzazione utente:

Una volta completate le attività, per riabilitare la sincronizzazione utente:

Diagnostica sincronizzazione utenti

Diagnostica sincronizzazione utenti è uno strumento che controlla la configurazione e tenta di identificare eventuali problemi.

Per l'autore, è sufficiente spostarsi dalla console principale attraverso Strumenti, Operazioni, Diagnosi, Diagnostica sincronizzazione utenti.

I risultati verranno visualizzati semplicemente entrando nella console Diagnostica sincronizzazione utenti.

Questo è ciò che viene visualizzato quando la sincronizzazione utente non è stata abilitata:

chlimage_1-397

Come eseguire la diagnostica per gli editori

Quando la diagnosi viene eseguita dall'ambiente di authoring, i risultati di esito positivo/negativo includeranno una sezione [INFO] che mostra l'elenco delle istanze di pubblicazione configurate per la conferma.

Nell’elenco è incluso un URL per ogni istanza di pubblicazione che eseguirà la diagnostica per tale istanza. Il parametro url syncUser viene aggiunto all'URL di diagnostica con il relativo valore impostato sull' utente di sincronizzazione autorizzato creato in Passaggio 2.

Nota : prima di avviare l’URL, l’ utente di sincronizzazione autorizzato deve già essere connesso a tale istanza di pubblicazione.

chlimage_1-398

Configurazione aggiunta errata

Quando la sincronizzazione degli utenti non funziona, il problema più comune è che sono state aggiunte configurazioni aggiuntive. Al contrario, la *configurazione esistente *predefinita dovrebbe essere stata modificata **.

Di seguito sono riportate le visualizzazioni di come dovrebbero essere visualizzate le configurazioni modificate e predefinite nella console Web. Se viene visualizzata più di un'istanza, la configurazione aggiunta deve essere rimossa.

(autore) Un agente di distribuzione Apache Sling - Sync Agent Factory

chlimage_1-399

(autore) Distribuzione granita di un Adobe - Fornitore segreto di trasporto password crittografata

chlimage_1-400

(pubblicare) Un agente di distribuzione Apache Sling - Coda agenti Factory

chlimage_1-401

(pubblicare) Una distribuzione granite di un Adobe - Diff Observer Factory

chlimage_1-402

(autore) Un trigger di distribuzione Apache Sling - Pianificato Triggers Factory

chlimage_1-403

Modifica eccezione operazione durante l'elaborazione delle risposte

Se nel registro è visibile quanto segue:

org.apache.sling.servlets.post.impl.operations.ModifyOperation Exception during response processing.

java.lang.IllegalStateException: This tree does not exist

Quindi verificare che la sezione 2. Create Authorized User è stato seguito correttamente.

Questa sezione descrive come creare un utente autorizzato, che esiste su tutte le istanze di pubblicazione e identificarlo nella configurazione OSGi 'Provider segreto' dell'autore. Per impostazione predefinita, l'utente è admin.

L'utente autorizzato deve essere membro del gruppo di utenti administrators e le autorizzazioni per tale gruppo non devono essere modificate.

L’utente autorizzato deve disporre esplicitamente dei seguenti privilegi e restrizioni per tutte le istanze di pubblicazione:

path jcr:all rep:idspn
/home X &ast;/activity/&ast;
/home/users X &ast;/activity/&ast;
/home/groups X &ast;/activity/&ast;

Come membro del gruppo administrators, l'utente autorizzato deve disporre dei seguenti privilegi su tutte le istanze di pubblicazione:

path jcr:all jcr:read rep:write
/etc/packages/sling/distribution X
/libs/sling/distribution X
/var X
/var/eventing X X
/var/sling/distribution X X

Sincronizzazione gruppo utenti non riuscita

Se l’ID Sling corrisponde a due o più istanze di pubblicazione, la sincronizzazione dei gruppi di utenti non riesce.

Vedere la sezione 9. ID Sling univoco

Sincronizzazione manuale di utenti e gruppi di utenti

Per configurare o abilitare la sincronizzazione degli utenti, andate al punto 1: Apache Sling Distribution Agent - Sync Agent Factory

Quando un editore diventa non disponibile

Quando un'istanza di pubblicazione diventa non disponibile, non deve essere rimossa se torna in linea in futuro. Le modifiche verranno messe in coda per l'editore e, una volta che l'editore sarà nuovamente online, saranno elaborate.

Se l’istanza di pubblicazione non torna mai online, se è offline in modo permanente, deve essere rimossa perché la compilazione della coda comporterà un utilizzo notevole dello spazio su disco nell’ambiente di authoring.

Quando un editore non è attivo, nel registro dell’autore sono presenti eccezioni simili a:

28.01.2016 15:57:48.475 ERROR
 [pool-12-thread-34-org_apache_sling_distribution_queue_socialpubsync_endpoint1
 (org/apache/sling/distribution/queue/socialpubsync/endpoint1)]
 org.apache.sling.distribution.agent.impl.SimpleDistributionAgent [agent][socialpubsync] could not deliver package distrpackage_1454014575838_a2b45ec8-0400-42f3-bed8-ae09b66381cb
 org.apache.sling.distribution.packaging.DistributionPackageImportException: failed in importing package ...

Come rimuovere un editore

Per rimuovere un editore dall' agente di distribuzione Apache Sling - Sync Agent Factory, la coda di distribuzione deve essere vuota e silenziosa.

In questa pagina