Användarsynkronisering user-synchronization
Introduktion introduction
När distributionen är en publiceringsgrupp 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 författarmiljön är avsedda att finnas kvar i författarmiljö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 i AEM 6.1 synkroniseras användardata automatiskt mellan publiceringsinstanserna i servergruppen och skapas inte på författaren.
Sling Distribution sling-distribution
Användardata, tillsammans med deras ACL, lagras i Oak Core, lagret under Oak JCR, och du får åtkomst till dem med Oak API . Med ovanliga uppdateringar är det rimligt att användardata synkroniseras med andra publiceringsinstanser med Sling Content Distribution (Sling-distribution).
Fördelarna med användarsynkronisering med Sling-distribution jämfört med traditionell replikering är:
-
användare, användarprofiler och användargrupper som skapats vid publicering skapas inte i 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
-
Vid distribution skickas endast användardata till publiceringsinstanser som inte har ursprungsstatus, vilket eliminerar onödig trafik
-
ACL:er 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 har skapats 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örfattare eller publicera.
Följande steg krävs för att aktivera användarsynkronisering, följt av avsnittet Felsökning:
Förutsättningar prerequisites
- Om användare och användargrupper redan har skapats på en publiceringsinstans rekommenderar vi att du synkroniseraranvändardata manuellt till alla publiceringsinstanser innan du konfigurerar och aktiverar användarsynkronisering.
När användarsynkroniseringen är aktiverad synkroniseras endast nyskapade användare och grupper.
- Kontrollera att den senaste koden är installerad:
1. Apache Sling Distribution Agent - Sync Agents Factory apache-sling-distribution-agent-sync-agents-factory
Aktivera användarsynkronisering
-
på författare
-
logga in med administratörsbehörighet
-
få åtkomst till webbkonsolen
- till exempel https://localhost:4502/system/console/configMgr
-
leta upp
Apache Sling Distribution Agent - Sync Agents Factory
-
markera den befintliga konfigurationen så att du kan öppna den för redigering (pennikon)
Verifieraname
:socialpubsync
-
markera kryssrutan
Enabled
-
välj
Save
-
-
2. Skapa behörig användare createauthuser
Konfigurera behörigheter
Den auktoriserade användaren används i steg 3 för att konfigurera Sling-distributionen på författaren.
-
för varje publiceringsinstans
-
logga in med administratörsbehörighet
-
få åtkomst till säkerhetskonsolen
- till exempel https://localhost:4503/useradmin
-
skapa en användare
- till exempel
usersync-admin
- till exempel
-
lägg till användaren i användargruppen
administrators
-
lägg till ACL för den här användaren i /home
Allow jcr:all
med begränsningrep:glob=*/activities/*
-
- Standardanvändaren som tilldelats är
admin
.
Lägga till ACL addacls
-
få tillgång till CRXDE Lite
- till exempel https://localhost:4503/crx/de
-
välj
/home
-nod -
i den högra rutan väljer du fliken
Access Control
-
om du vill lägga till en ACL-post väljer du knappen
+
- Principal: sök efter användare som har skapats för användarsynkronisering
- Typ:
Allow
- Behörigheter:
jcr:all
- Begränsningar
rep:glob
:*/activities/*
- välj OK
-
välj Spara alla
Se även
- Behörighetshantering
- Felsökningsavsnittet Ändra åtgärdsundantag under svarsbearbetning.
3. Adobe Granite Distribution - Krypterad lösenordstransporthemlighetsprovider adobegraniteencpasswrd
Konfigurera behörigheter
När en auktoriserad användare som är medlem i användargruppen administrators
har skapats på alla publiceringsinstanser måste den auktoriserade användaren identifieras på författaren som behörig att synkronisera användardata från författare till publicering.
-
på författare
-
logga in med administratörsbehörighet
-
få åtkomst till webbkonsolen
- till exempel https://localhost:4502/system/console/configMgr
-
leta upp
com.adobe.granite.distribution.core.impl.CryptoDistributionTransportSecretProvider.name
-
för att öppna för redigering väljer du den befintliga konfigurationen (pennikonen)
Verifieraproperty name
:socialpubsync-publishUser
-
ange användarnamn och lösenord för den behöriga användaren som skapades 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
-
för varje publiceringsinstans:
-
logga in med administratörsbehörighet
-
få åtkomst till webbkonsolen
- till exempel https://localhost:4503/system/console/configMgr
-
leta upp
Apache Sling Distribution Agent - Queue Agents Factory
-
för att öppna för redigering väljer du den befintliga konfigurationen (pennikonen)
VerifieraName
:socialpubsync-reverse
-
markera kryssrutan
Enabled
-
välj
Save
-
-
upprepa för varje publiceringsinstans
-
5. Adobe Social Sync - Diff Observer Factory diffobserver
Aktivera gruppsynkronisering
-
för varje publiceringsinstans:
-
logga in med administratörsbehörighet
-
få åtkomst till webbkonsolen
- till exempel https://localhost:4503/system/console/configMgr
-
leta upp
Adobe Social Sync - Diff Observer Factory
-
för att öppna för redigering väljer du den befintliga konfigurationen (pennikonen)
Verifiera
agent name
:socialpubsync-reverse
-
markera kryssrutan
Enabled
-
välj
Save
-
-
6. Apache Sling Distribution Trigger - Factory för schemalagda utlösare apache-sling-distribution-trigger-scheduled-triggers-factory
(Valfritt) Ändra avsökningsintervallet
Som standard söker författaren efter ändringar var 30:e sekund. Så här ändrar du intervallet:
-
på författare
-
logga in med administratörsbehörighet
-
få åtkomst till webbkonsolen
- till exempel https://localhost:4502/system/console/configMgr
-
leta upp
Apache Sling Distribution Trigger - Scheduled Triggers Factory
-
för att öppna för redigering väljer du den befintliga konfigurationen (pennikonen)
- Verifiera
Name
:socialpubsync-scheduled-trigger
- Verifiera
-
ställ in
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 synkroniseringsagentkatalogen.
7. Apache Sling Distribution Agent - Sync Agents Factory apache-sling-distribution-agent-sync-agents-factory-1
Lägg till publiceringsinstanser:
-
på författare
-
logga in med administratörsbehörighet
-
få åtkomst till webbkonsolen
- till exempel https://localhost:4502/system/console/configMgr
-
leta upp
Apache Sling Distribution Agent - Sync Agents Factory
- för att öppna för redigering väljer du den befintliga konfigurationen (pennikonen)
VerifieraName
:socialpubsync
- för att öppna för redigering väljer du den befintliga konfigurationen (pennikonen)
-
-
Exportera slutpunkter
Det ska finnas en exportörslutpunkt för varje Publish-instans. 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
-
Slutpunkter för import
Det ska finnas en importslutpunkt för varje Publish-instans. 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. Unikt ID för försäljning 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 Publish-instans:
- bläddra till
http://<host>:<port>/system/console/status-slingsettings
- kontrollera värdet för Sling ID
Om Sling ID för en Publish-instans matchar Sling ID för någon annan Publish-instans:
-
stoppa en av publiceringsinstanserna som har ett matchande Sling ID
-
i katalogen crx-quickstart/launchpad/felix
-
sök efter och ta bort filen 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 Publish-instansen
- vid start tilldelas det ett nytt Sling ID
-
validera att Sling ID nu är unikt
Upprepa dessa steg tills alla publiceringsinstanser har ett unikt Sling ID.
Vault Package Builder Factory vault-package-builder-factory
För att uppdateringar ska kunna synkroniseras på rätt sätt måste du ändra valvpaketets byggare för användarsynkronisering:
-
på varje AEM Publish-instans
-
få åtkomst till webbkonsolen
- till exempel https://localhost:4503/system/console/configMgr
-
hitta
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
-
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 publiceringsgrupp och användarsynkroniseringen har konfigurerats korrekt, synkroniseras användar och användarprofilen ö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 skapas i publiceringsmiljön visas inte som avsett i redigeringsmiljön och omvänt.
När konsolen Användaradministration och säkerhet används för att lägga till nya användare i publiceringsmiljön synkroniserar användarsynkroniseringen de nya användarna och deras gruppmedlemskap med andra publiceringsinstanser, om det behövs. 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
Distributionskön måste vara tom och tyst om du vill göra användarsynkroniseringen offline och ta bort en publiceringsinstans eller manuellt synkronisera data.
Så här kontrollerar du status för distributionskön:
-
på författare:
-
med CRXDE Lite
-
sök efter poster i
/var/sling/distribution/packages
- mappnoder namngivna med mönstret
distrpackage_*
- mappnoder namngivna med mönstret
-
-
använder Package Manager
-
söka efter väntande paket (ännu inte installerat)
- namngiven med mönstret
socialpubsync-vlt*
- namngiven med mönstret
-
-
Inaktivera användarsynkronisering när distributionskön är tom:
-
på författare
- *uncheck *kryssrutan
Enabled
för Apache Sling Distribution Agent - Sync Agents Factory
- *uncheck *kryssrutan
Så här återaktiverar du användarsynkronisering när åtgärder har slutförts:
-
på författare
- markera kryssrutan
Enabled
för Apache Sling Distribution Agent - Sync Agents Factory
- markera kryssrutan
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 på författaren via Verktyg, Åtgärder, Diagnostik, Diagnostik för användarsynkronisering.
Resultatet visas bara om du anger konsolen för användarsynkronisering.
Detta visas när användarsynkronisering inte har aktiverats:
Så här kör du diagnostik för publiceringsinstanser how-to-run-diagnostics-for-publish-instances
När diagnostiken körs från redigeringsmiljön innehåller resultatet för godkännande/fel ett [INFO] -avsnitt som visar listan med konfigurerade publiceringsinstanser för bekräftelse.
I listan finns en URL för varje Publish-instans som kör diagnostiken för den instansen. URL-parametern syncUser
läggs till i diagnostikwebbadressen med värdet inställt på den auktoriserade synkroniseringsanvändaren som skapades i steg 2.
Obs!: Innan du startar URL:en måste den auktoriserade synkroniseringsanvändaren redan vara inloggad på den publiceringsinstansen.
Felaktig konfiguration configuration-improperly-added
När användarsynkroniseringen inte fungerar är det vanligaste problemet att ytterligare konfigurationer lades till. I stället borde den befintliga *standardkonfigurationen ha redigerats.
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) En Apache Sling Distribution Transport-autentiseringsuppgifter - Användarautentiseringsuppgifter baserad DistributionTransportSecretProvider author-one-apache-sling-distribution-transport-credentials-user-credentials-based-distributiontransportsecretprovider
(Publish) En Apache Sling Distribution Agent - köagentfabrik publish-one-apache-sling-distribution-agent-queue-agents-factory
(Publish) One Adobe Social Sync - Diff Observer Factory publish-one-adobe-social-sync-diff-observer-factory
(Författare) En utlösare för Apache Sling Distribution - 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ändareföljdes korrekt.
I det här avsnittet beskrivs hur du skapar en behörig användare, som finns på alla publiceringsinstanser, och identifierar dem i OSGi-konfigurationen för den hemliga providern. Som standard är användaren admin
.
Den auktoriserade användaren bör göras medlem i användargruppen administrators
och behörigheterna för den gruppen bör inte ändras.
Den auktoriserade användaren bör uttryckligen ha följande behörigheter och begränsningar för alla publiceringsinstanser:
Som medlem i gruppen administrators
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
-
vid publiceringsinstanser 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
- Avancerad flik: 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 publiceringsinstans blir otillgänglig when-a-publish-instance-becomes-unavailable
När en publiceringsinstans blir otillgänglig bör den inte tas bort om den kommer tillbaka online i framtiden. Ändringarna köas för Publish-instansen och när den är online igen bearbetas ändringarna.
Om publiceringsinstansen aldrig återgår till onlineläge, om den är permanent offline, måste den tas bort eftersom köbygget resulterar i märkbart diskutrymme i redigeringsmiljön.
När en Publish-instans är nedtryckt har författarloggen följande undantag:
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 how-to-remove-a-publish-instance
Om du vill ta bort en publiceringsinstans från Apache Sling Distribution Agent - Sync Agents Factory måste distributionskön vara tom och tyst.
-
på författare:
-
Följ steg 7 för att ta bort Publish-instansen från båda serverlistorna:
Exporter Endpoints
Importer Endpoints
-
återaktivera användarsynkronisering
- markera kryssrutan
Enabled
för Apache Sling Distribution Agent - Sync Agents Factory
- markera kryssrutan