Användarsynkronisering user-synchronization
Introduktion introduction
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 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
Aktivera användarsynkronisering enable-user-sync
disabled
.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 prerequisites
-
Om användare och användargrupper redan har skapats på en utgivare bör du synka manuellt användardata till alla utgivare innan de konfigurerar och aktiverar användarsynkronisering.
När användarsynkroniseringen är aktiverad synkroniseras endast nyskapade användare och grupper.
-
Kontrollera att den senaste koden har installerats:
1. Apache Sling Distribution Agent - Sync Agents Factory apache-sling-distribution-agent-sync-agents-factory
Aktivera användarsynkronisering
-
on author
-
logga in med administratörsbehörighet
-
åtkomst till Webbkonsol
- till exempel http://localhost:4502/system/console/configMgr
-
leta
Apache Sling Distribution Agent - Sync Agents Factory
-
välj den befintliga konfiguration som ska öppnas för redigering (pennikon)
Verifiera
name
:socialpubsync
-
välj
Enabled
kryssruta -
välj
Save
-
-
2. Skapa auktoriserad användare createauthuser
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.
-
på varje publiceringsinstans
-
logga in med administratörsbehörighet
-
åtkomst till Säkerhetskonsol
- till exempel http://localhost:4503/useradmin
-
skapa en ny användare
- till exempel
usersync-admin
- till exempel
-
lägg till den här användaren i
administrators
användargrupp -
lägg till ACL för den här användaren i /home
Allow jcr:all
med begränsningrep:glob=*/activities/*
-
- Den tilldelade standardanvändaren är
admin
. - Använd inte
*communities-user-admin *user*.*
Lägga till ACL addacls
-
access CRXDE Lite
- till exempel http://localhost:4503/crx/de
-
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
*/activities/*
- välj OK
-
välj Spara alla
Se även
- Behörighetshantering
- Felsökningsavsnitt Ändra åtgärdsundantag under svarsbearbetning.
3. Adobe Granite-distribution - krypterad lösenordsleverantör adobegraniteencpasswrd
Konfigurera behörigheter
När en auktoriserad användare har blivit medlem i administrators
användargrupp, har skapats för alla publiceringsinstanser. Den auktoriserade 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
- till exempel http://localhost:4502/system/console/configMgr
-
leta
com.adobe.granite.distribution.core.impl.CryptoDistributionTransportSecretProvider.name
-
välj den befintliga konfiguration som ska öppnas för redigering (pennikon)
Verifiera
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
- till exempel
-
4. Apache Sling Distribution Agent - Queue Agents Factory apache-sling-distribution-agent-queue-agents-factory
Aktivera användarsynkronisering
-
vid publicering :
-
logga in med administratörsbehörighet
-
åtkomst till Webbkonsol
- till exempel http://localhost:4503/system/console/configMgr
-
leta
Apache Sling Distribution Agent - Queue Agents Factory
-
välj den befintliga konfiguration som ska öppnas för redigering (pennikon)
Verifiera
Name
:socialpubsync-reverse
-
välj
Enabled
kryssruta -
välj
Save
-
-
upprepa för varje publiceringsinstans
-
5. Adobe Granite Distribution - Diff Observer Factory diffobserver
Aktivera gruppsynkronisering
-
på varje publiceringsinstans :
-
logga in med administratörsbehörighet
-
åtkomst till Webbkonsol
- till exempel http://localhost:4503/system/console/configMgr
-
leta
Adobe Granite Distribution - 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 apache-sling-distribution-trigger-scheduled-triggers-factory
(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
- till exempel http://localhost:4502/system/console/configMgr
-
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
- Verifiera
-
ange
Interval in Seconds
till önskat intervall -
välj
Save
-
-
Konfigurera för flera publiceringsinstanser configure-for-multiple-publish-instances
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 apache-sling-distribution-agent-sync-agents-factory-1
Lägg till publiceringsinstanser:
-
on author
-
logga in med administratörsbehörighet
-
åtkomst till Webbkonsol
- till exempel http://localhost:4502/system/console/configMgr
-
leta
Apache Sling Distribution Agent - Sync Agents Factory
-
välj den befintliga konfiguration som ska öppnas för redigering (pennikon)
Verifiera
Name
:socialpubsync
-
-
-
Exporterarslutpunkter
Det ska finnas en exportörslutpunkt för varje utgivare. Om det till exempel finns två utgivare, localhost:4503 och 4504, ska det finnas två poster:- http://localhost:4503/libs/sling/distribution/services/exporters/socialpubsync-reverse
- http://localhost:4504/libs/sling/distribution/services/exporters/socialpubsync-reverse
-
Importerarslutpunkter
Det ska finnas en importslutpunkt för varje utgivare. Om det till exempel finns två utgivare, localhost:4503 och 4504, ska det finnas två poster:- http://localhost:4503/libs/sling/distribution/services/importers/socialpubsync
- http://localhost:4504/libs/sling/distribution/services/importers/socialpubsync
-
välj
Save
8. AEM Communities Sync Listener aem-communities-user-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 http://localhost:4503/system/console/configMgr
-
leta
AEM Communities User Sync Listener
-
välj den befintliga konfiguration som ska öppnas för redigering (pennikon)
Verifiera
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 unique-sling-id
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:
- bläddra till
http://<host>:<port>/system/console/status-slingsettings
- kontrollera värdet för Sling-ID
Om Sling ID för en publiceringsinstans matchar Sling ID för någon annan publiceringsinstans:
-
stoppa en av publiceringsinstanserna som har ett matchande Sling ID
-
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*
-
-
-
starta publiceringsinstansen
- vid start tilldelas det ett nytt Sling ID
-
validera att Sling-ID är nu unikt
Upprepa dessa steg tills alla publiceringsinstanser har ett unikt Sling ID.
Vault Package Builder Factory 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
- till exempel http://localhost:4503/system/console/configMgr
-
leta upp
Apache Sling Distribution Packaging - Vault Package Builder Factor
Builder name: socialpubsync-vlt
-
markera redigeringsikonen
-
lägg till två
Package 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
-
Vad händer när … what-happens-when
Självregister för användare eller redigeringsprofil vid publicering user-self-registers-or-edits-profile-on-publish
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ändaren *och användarprofil synkroniseras över hela publiceringsgruppen med Sling-distribution.
Användare eller användargrupper skapas med säkerhetskonsolen users-or-user-groups-are-created-using-security-console
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 troubleshooting
Använda användarsynkronisering offline how-to-take-user-sync-offline
För att göra användarsynkronisering offline, för att ta bort en utgivare 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_*
- mappnoder namngivna med mönstret
-
-
använda Pakethanteraren
-
söka efter väntande paket (ännu inte installerat)
- namngiven med mönstret
socialpubsync-vlt*
- skapad av
communities-user-admin
- namngiven med mönstret
-
-
Inaktivera användarsynkronisering när distributionskön är tom:
-
on author
- *uncheck *the
Enabled
kryssruta för Apache Sling Distribution Agent - Sync Agents Factory
- *uncheck *the
Så här återaktiverar du användarsynkronisering när åtgärderna har slutförts:
-
on author
- kontrollera
Enabled
kryssruta för Apache Sling Distribution Agent - Sync Agents Factory
- kontrollera
Diagnostik för användarsynkronisering user-sync-diagnostics
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 utgivare how-to-run-diagnostics-for-publishers
När diagnostiken körs från författarmiljö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 improperconfig
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-agent-sync-agents-factory
(författare) One Adobe Granite Distribution - Krypterad lösenordsleverantör author-one-adobe-granite-distribution-encrypted-password-transport-secret-provider
(publicera) One Apache Sling Distribution Agent - Queue Agents Factory publish-one-apache-sling-distribution-agent-queue-agents-factory
(publicera) One Adobe Granite Distribution - Diff Observer Factory publish-one-adobe-granite-distribution-diff-observer-factory
(författare) One Apache Sling Distribution Trigger - Factory för schemalagda utlösare author-one-apache-sling-distribution-trigger-scheduled-triggers-factory
Ändra åtgärdsundantag under svarsbearbetning modify-operation-exception-during-response-processing
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 auktoriserade användaren bör uttryckligen ha följande behörigheter och begränsningar för alla publiceringsinstanser:
Som medlem i administrators
gruppen bör den auktoriserade användaren ha följande behörigheter för alla publiceringsinstanser:
Synkronisering av användargrupp misslyckades user-group-sync-failed
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 manually-syncing-users-and-user-groups
-
på utgivaren där användare och användargrupper finns:
-
skapa ett paket av
/home
-
när du redigerar paketet
- Fliken Filter: Lägg till filter: Rotsökväg:
/home
- Fliken Avancerat: AC-hantering:
Overwrite
- Fliken Filter: Lägg till filter: Rotsökväg:
-
-
på andra publiceringsinstanser:
Om du vill konfigurera eller aktivera användarsynkronisering går du till steg 1: Apache Sling Distribution Agent - Sync Agents Factory
När en utgivare blir otillgänglig when-a-publisher-becomes-unavailable
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 utgivaren 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 utgivare ä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 utgivare how-to-remove-a-publisher
Så här tar du bort en utgivare från Apache Sling Distribution Agent - Sync Agents Factorymåste distributionskön vara tom och tyst.
-
on author:
-
följ steg 7 för att ta bort utgivaren från båda serverlistorna:
Exporter Endpoints
Importer Endpoints
-
återaktivera användarsynkronisering
- kontrollera
Enabled
kryssruta för Apache Sling Distribution Agent - Sync Agents Factory
- kontrollera