Användarsynkronisering

Introduktion

När distributionen är en publicera servergrupp, måste medlemmarna kunna logga in och se sina data på valfri publiceringsnod.

Användare och användargrupper (användardata) som har skapats i publiceringsmiljön behövs inte i författarmiljön.

De flesta användardata som skapas i redigeringsmiljön är avsedda att finnas kvar i redigeringsmiljön och inte kopieras till publiceringsinstanser.

Registrering och ändringar som görs på en publiceringsinstans måste synkroniseras med andra publiceringsinstanser för att de ska ha tillgång till samma användardata.

När användarsynkronisering är aktiverat synkroniseras användardata automatiskt mellan publiceringsinstanserna i servergruppen från och med AEM 6.1 och skapas inte av författaren.

Sling Distribution

Användardata, tillsammans med deras ACL, lagras i Oak Core, lagret under Oak JCR och nås via Oak API. Med ovanliga uppdateringar är det rimligt att användardata synkroniseras med andra publiceringsinstanser med Distribution av säljinnehåll (Sling distribution).

Fördelarna med användarsynkronisering med Sling-distribution jämfört med traditionell replikering är:

  • användare, användarprofiler och användargrupper skapad vid publicering har inte skapats för författaren

  • Sling distribution anger egenskaper i jcr-händelser, vilket gör det möjligt att agera i händelseavlyssnare på publiceringssidan utan att bekymra sig om oändliga replikeringsslingor

  • Sling-distribution skickar endast användardata till icke-ursprungliga publiceringsinstanser, vilket eliminerar onödig trafik

  • ACL som angetts i användarnoden ingår i synkroniseringen

OBSERVERA

Om sessioner krävs rekommenderar vi att du antingen använder en SSO-lösning eller använder en klisteristisk session, och att kunderna loggar in om de byter till en annan publiceringsinstans.

FÖRSIKTIGHET

Synkronisering av administratörer grupp stöds inte, även om användarsynkronisering är aktiverat. I stället loggas ett fel att "importera diff" i felloggen.

Det innebär att när distributionen är en publiceringsgrupp, om en användare läggs till eller tas bort från administratörer måste ändringen göras manuellt för varje publiceringsinstans.

Aktivera användarsynkronisering

OBSERVERA

Som standard är användarsynkronisering disabled.

Att aktivera användarsynkronisering innebär att ändra befintlig OSGi-konfigurationer.

Inga nya konfigurationer ska läggas till som ett resultat av aktivering av användarsynkronisering.

Användarsynkronisering förlitar sig på redigeringsmiljön för att hantera distributionen av användardata, även om användardata inte skapas på författaren. Mycket, men inte allt, av konfigurationen sker i författarmiljön och varje steg identifierar tydligt om den ska utföras på författaren eller publiceringen.

Följande steg krävs för att aktivera användarsynkronisering, följt av en Felsökning avsnitt:

Förutsättningar

  1. Om användare och användargrupper redan har skapats på en publiceringsinstans rekommenderar vi att du synka manuellt användardata till alla publiceringsinstanser innan användarsynkronisering konfigureras och aktiveras.

När användarsynkroniseringen är aktiverad synkroniseras endast nyskapade användare och grupper.

  1. Kontrollera att den senaste koden har installerats:

1. Apache Sling Distribution Agent - Sync Agents Factory

Aktivera användarsynkronisering

  • on author

    • logga in med administratörsbehörighet

    • åtkomst till Webbkonsol

    • leta Apache Sling Distribution Agent - Sync Agents Factory

      • markera den befintliga konfiguration som ska öppnas för redigering (pennikonen) Bekräfta name: socialpubsync

      • välj Enabled kryssruta

      • select Save

2. Skapa auktoriserad användare

Konfigurera behörigheter
Den här auktoriserade användaren kommer att användas i steg 3 för att konfigurera Sling-distributionen på författaren.

FÖRSIKTIGHET

En ny användare måste skapas.

  • Den tilldelade standardanvändaren är admin.
  • Använd inte communities-user-admin user.

Lägga till ACL

  • access CRXDE Lite

  • välj /home nod

  • i den högra rutan väljer du Access Control tab

  • välj + knapp för att lägga till en ACL-post

    • kapitalbelopp: sök efter användare som har skapats för användarsynkronisering
    • Typ: Allow
    • Behörighet: jcr:all
    • Begränsningar rep:glob: */activities/*
    • välj OK
  • välj Spara alla

Se även

3. Adobe Granite-distribution - krypterad lösenordsleverantör

Konfigurera behörigheter

En auktoriserad användare, en medlem i administrators användargruppen, har skapats för alla publiceringsinstanser, och den behöriga användaren måste identifieras som en författare med behörighet att synkronisera användardata från författare till publicering.

  • on author

    • logga in med administratörsbehörighet

    • åtkomst till Webbkonsol

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

    • markera den befintliga konfiguration som ska öppnas för redigering (pennikonen) Bekräfta property name: socialpubsync-publishUser

    • ange användarnamn och lösenord för auktoriserad användare skapad vid publicering i steg 2

      • till exempel usersync-admin

4. Apache Sling Distribution Agent - Queue Agents Factory

Aktivera användarsynkronisering

  • på varje publiceringsinstans:

    • logga in med administratörsbehörighet

    • åtkomst till Webbkonsol

    • leta Apache Sling Distribution Agent - Queue Agents Factory

      • markera den befintliga konfiguration som ska öppnas för redigering (pennikonen) Bekräfta Name: socialpubsync-reverse

      • välj Enabled kryssruta

      • välj Save

    • upprepa för varje publiceringsinstans

5. Adobe Social Sync - Diff Observer Factory

Aktivera gruppsynkronisering

  • på varje publiceringsinstans:

    • logga in med administratörsbehörighet

    • åtkomst till Webbkonsol

    • leta Adobe Social Sync - Diff Observer Factory

      • välj den befintliga konfiguration som ska öppnas för redigering (pennikon)

        Verifiera agent name: socialpubsync-reverse

      • välj Enabled kryssruta

      • välj Save

6. Apache Sling Distribution Trigger - Factory för schemalagda utlösare

(Valfritt) Ändra avsökningsintervall

Som standard kommer författaren att söka efter ändringar var 30:e sekund. Så här ändrar du intervallet:

  • on author

    • logga in med administratörsbehörighet

    • åtkomst till Webbkonsol

    • leta Apache Sling Distribution Trigger - Scheduled Triggers Factory

      • välj den befintliga konfiguration som ska öppnas för redigering (pennikon)

        • Verifiera Name: socialpubsync-scheduled-trigger
      • ange Interval in Seconds till önskat intervall

      • välj Save

Konfigurera för flera publiceringsinstanser

Standardkonfigurationen är för en enda publiceringsinstans. Eftersom orsaken till aktiveringen av användarsynkronisering är att synkronisera flera publiceringsinstanser, t.ex. för en publiceringsgrupp, måste de ytterligare publiceringsinstanserna läggas till i Sync Agents Factory.

7. Apache Sling Distribution Agent - Sync Agents Factory

Lägg till publiceringsinstanser:

  • on author

    • logga in med administratörsbehörighet

    • åtkomst till Webbkonsol

    • leta Apache Sling Distribution Agent - Sync Agents Factory

      • markera den befintliga konfiguration som ska öppnas för redigering (pennikonen) Bekräfta Name: socialpubsync

  • Exporterarslutpunkter
    Det ska finnas en exportörslutpunkt för varje publiceringsinstans. Om det till exempel finns två publiceringsinstanser, localhost:4503 och 4504, ska det finnas två poster:

    • https://localhost:4503/libs/sling/distribution/services/exporters/socialpubsync-reverse
    • https://localhost:4504/libs/sling/distribution/services/exporters/socialpubsync-reverse
  • Importerarslutpunkter
    Det ska finnas en importslutpunkt för varje publiceringsinstans. Om det till exempel finns två publiceringsinstanser, localhost:4503 och 4504, ska det finnas två poster:

    • https://localhost:4503/libs/sling/distribution/services/importers/socialpubsync
    • https://localhost:4504/libs/sling/distribution/services/importers/socialpubsync
  • välj Save

8. AEM Communities Sync Listener

(Valfritt) Synkronisera ytterligare JCR-noder

Om det finns anpassade data som ska synkroniseras över flera publiceringsinstanser:

  • på varje publiceringsinstans:

    • logga in med administratörsbehörighet

    • åtkomst till Webbkonsol

      • till exempel https://localhost:4503/system/console/configMgr
    • leta AEM Communities User Sync Listener

    • markera den befintliga konfiguration som ska öppnas för redigering (pennikonen) Bekräfta Name: socialpubsync-scheduled-trigger

  • Nodtyper
    Det här är listan över nodtyper som ska synkroniseras. Alla andra nodtyper än sling:Mappen måste listas här (sling:folder hanteras separat).
    Standardlista över nodtyper som ska synkroniseras:

    • rep:User
    • nt:ostrukturerad
    • nt:resurs
  • Ignorerbara egenskaper
    Det här är listan med egenskaper som kommer att ignoreras om några ändringar identifieras. Ändringar av de här egenskaperna kan synkroniseras som en sidoeffekt av andra ändringar (eftersom synkronisering alltid finns på nodnivå), men ändringar av de här egenskaperna utlöser inte själva synkroniseringen.
    Standardegenskap som ska ignoreras:

    • cq:lastModified
  • Ignorerbara noder
    Delsökvägar som helt ignoreras under synkroniseringen. Inget under dessa delsökvägar kommer att synkroniseras när som helst.
    Standardnoder som ska ignoreras:

    • .tokens
    • system
  • Distribuerade mappar
    De flesta sling:Mappar ignoreras eftersom synkronisering inte behövs. Här anges de få undantagen.
    Standardmappar att synkronisera

    • segment/poäng
    • sociala medier/relationer
    • verksamhet

9. Unikt försäljnings-ID

FÖRSIKTIGHET

Om Sling ID matchar mellan två eller flera publiceringsinstanser misslyckas synkroniseringen av användargruppen.

Om Sling ID är samma för flera publiceringsinstanser i en publiceringsgrupp synkroniseras inte användargrupperna.

Så här validerar du att alla värden för Sling ID skiljer sig åt för varje publiceringsinstans:

  1. bläddra till http://<host>:<port>/system/console/status-slingsettings
  2. kontrollera värdet för Sling-ID

Om Sling ID för en publiceringsinstans matchar Sling ID för någon annan publiceringsinstans:

  1. stoppa en av publiceringsinstanserna som har ett matchande Sling ID

  2. i katalogen crx-quickstart/launchpad/felix

    • söka efter och ta bort filen med namnet sling.id.file

      • i ett Linux-system:

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

      • i ett Windows-system:

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

  3. starta publiceringsinstansen

    • vid start tilldelas det ett nytt Sling ID
  4. validera att Sling-ID är nu unikt

Upprepa dessa steg tills alla publiceringsinstanser har ett unikt Sling ID.

Vault Package Builder Factory

För att uppdateringarna ska kunna synkroniseras på rätt sätt måste du ändra valvpaketets byggare för användarsynkronisering:

  • på varje AEM publiceringsinstans

  • åtkomst till Webbkonsol

  • leta upp Apache Sling Distribution Packaging - Vault Package Builder Factory

    • Builder name: socialpubsync-vlt
  • markera redigeringsikonen

  • lägg till två Package Node Filters:

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

    • om du vill skriva över befintliga rep:principnoder med nya lägger du till ett tredje paketfilter:

      • /home/users|+.*/rep:policy
    • för att förhindra att profiler distribueras, ange

      • Acl Handling: IGNORE

Vault Package Builder Factory

Vad händer när …

Självregister för användare eller redigeringsprofil vid publicering

Användare och profiler som skapats i publiceringsmiljön (självregistrering) visas inte i författarmiljön.

När topologin är en publicera servergrupp och användarsynkroniseringen har konfigurerats korrekt, användare och användarprofil synkroniseras över hela publiceringsgruppen med Sling-distribution.

Användare eller användargrupper skapas med säkerhetskonsolen

Användardata som skapats i publiceringsmiljön visas inte som avsett i redigeringsmiljön och vice versa.

När Användaradministration och -säkerhet konsolen används för att lägga till nya användare i publiceringsmiljön. Om det behövs synkroniseras de nya användarna och deras gruppmedlemskap med andra publiceringsinstanser. Användarsynkronisering synkroniserar även användargrupper som skapats via säkerhetskonsolen.

Felsökning

Använda användarsynkronisering offline

Så här gör du användarsynkroniseringen offline för att ta bort en publiceringsinstans eller synkronisera data manuelltmåste distributionskön vara tom och tyst.

Så här kontrollerar du status för distributionskön:

  • on author:

    • använda CRXDE Lite

      • sök efter poster i /var/sling/distribution/packages

        • mappnoder namngivna med mönstret distrpackage_*
    • använda Pakethanteraren

      • söka efter väntande paket (ännu inte installerat)

        • namngiven med mönstret socialpubsync-vlt*
        • skapad av communities-user-admin

Inaktivera användarsynkronisering när distributionskön är tom:

Så här återaktiverar du användarsynkronisering när åtgärderna har slutförts:

Diagnostik för användarsynkronisering

Diagnostik för användarsynkronisering är ett verktyg som kontrollerar konfigurationen och försöker identifiera eventuella problem.

Navigera från huvudkonsolen via författaren Verktyg, Åtgärder, Diagnostik, Diagnostik för användarsynkronisering.

Om du bara anger användarsynkroniseringskonsolen visas resultatet.

Detta visas när användarsynkronisering inte har aktiverats:

Så här kör du diagnostik för publiceringsinstanser

När diagnostiken körs från redigeringsmiljön kommer resultatet att inkludera en [INFORMATION] -sektion som visar listan med konfigurerade publiceringsinstanser för bekräftelse.

I listan finns en URL för varje publiceringsinstans som kör diagnostiken för den instansen. URL-param syncUser läggs till i diagnostikwebbadressen med dess värde inställt på auktoriserad synkroniseringsanvändare skapad i Steg 2.

Anteckning: innan webbadressen startas auktoriserad synkroniseringsanvändare måste redan vara inloggad på den publiceringsinstansen.

Felaktig konfiguration

När användarsynkroniseringen inte fungerar är det vanligaste problemet att ytterligare konfigurationer tillagd. I stället borde den befintliga *standardkonfigurationen ha redigerad.

Här följer några vyer över hur den redigerade bilden visas standardkonfigurationer i webbkonsolen. Om fler än en instans visas bör den tillagda konfigurationen tas bort.

(författare) En Apache Sling Distribution Agent - Sync Agents Factory

(author) One Apache Sling Distribution Transport Credentials - User Credentials based DistributionTransportSecretProvider

(publicera) One Apache Sling Distribution Agent - Queue Agents Factory

(publicera) One Adobe Social Sync - Diff Observer Factory

(författare) One Apache Sling Distribution Trigger - Factory för schemalagda utlösare

Ändra åtgärdsundantag under svarsbearbetning

Om följande syns i loggen:

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

java.lang.IllegalStateException: This tree does not exist

Verifiera sedan att avsnittet 2. Skapa auktoriserad användare följdes på rätt sätt.

I det här avsnittet beskrivs hur du skapar en behörig användare, som finns i alla publiceringsinstanser, och identifierar dem i OSGi-konfigurationen för den hemliga providern. Som standard är användaren admin.

Den behöriga användaren bör göras medlem i administrators användargruppen och behörigheterna för den gruppen ska inte ändras.

Den behöriga användaren bör uttryckligen ha följande behörigheter och begränsningar för alla publiceringsinstanser:

path jcr:all rep:glob
/home X */aktiviteter/*
/home/users X */aktiviteter/*
/home/groups X */aktiviteter/*

Som medlem i administrators gruppen bör den auktoriserade användaren ha följande behörigheter för alla publiceringsinstanser:

bana 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

Synkronisering av användargrupp misslyckades

Om Sling ID matchar mellan två eller flera publiceringsinstanser misslyckas synkroniseringen av användargruppen.

Se avsnitt 9. Unikt försäljnings-ID

Synkronisera användare och användargrupper manuellt

Om du vill konfigurera eller aktivera användarsynkronisering går du till steg 1: Apache Sling Distribution Agent - Sync Agents Factory

När en publiceringsinstans blir otillgänglig

När en publiceringsinstans blir otillgänglig bör den inte tas bort om den kommer att vara online igen i framtiden. Ändringarna köas för publiceringsinstansen och när den är online igen behandlas ändringarna.

Om publiceringsinstansen aldrig kommer att vara online igen, om den är permanent offline, måste den tas bort eftersom köbygget kommer att resultera i märkbart diskutrymme i författarmiljön.

När en publiceringsinstans är nere har författarloggen undantag som liknar:

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 ...

Så här tar du bort en publiceringsinstans

Så här tar du bort en publiceringsinstans från Apache Sling Distribution Agent - Sync Agents Factorymåste distributionskön vara tom och tyst.

På denna sida