Hantera användare managing-users
Exempel och exempel i det här dokumentet gäller endast för AEM Forms i JEE-miljö.
Om användarhantering
Du kan använda API:t för användarhantering för att skapa klientprogram som kan hantera roller, behörigheter och principer (som kan vara användare eller grupper) och autentisera användare. API:t för användarhantering består av följande AEM Forms-API
- API för kataloghanterartjänst
- Tjänst-API för Autentiseringshanteraren
- Tjänst-API för auktoriseringshanteraren
Med Hantering av användare kan du tilldela, ta bort och bestämma roller och behörigheter. Du kan också tilldela, ta bort och fråga domäner, användare och grupper. Slutligen kan du använda Hantering av användare för att autentisera användare.
I Lägga till användare får du veta hur du programmässigt lägger till användare. I det här avsnittet används API:t för kataloghanterartjänsten.
I Ta bort användare får du veta hur du tar bort användare programmatiskt. I det här avsnittet används API:t för kataloghanterartjänsten.
I Hantera användare och grupper kan du förstå skillnaden mellan en lokal användare och en kataloganvändare och se exempel på hur du använder Java- och webbtjänstens API:er för att hantera användare och grupper programmatiskt. I det här avsnittet används API:t för kataloghanterartjänsten.
I Hantera roller och behörigheter får du lära dig mer om systemroller och behörigheter och vad du kan göra programmatiskt för att förstärka dem, och se exempel på hur du använder Java- och webbtjänstens API:er för att programmässigt hantera roller och behörigheter. I det här avsnittet används både API:t för kataloghanterarens tjänst och API:t för auktoriseringshanterarens tjänst.
I Autentisera användare visas exempel på hur du använder Java- och webbtjänstens API:er för programmässig autentisering av användare. I det här avsnittet används API:t för tjänsten Authorization Manager.
Förstå autentiseringsprocessen
Användarhantering har inbyggda autentiseringsfunktioner och ger dig även möjlighet att ansluta den till din egen autentiseringsleverantör. När Hantering av användare tar emot en autentiseringsbegäran (t.ex. en användare försöker logga in) skickas användarinformation till autentiseringsprovidern. Användarhantering får resultaten från autentiseringsprovidern efter att användaren har autentiserats.
I följande diagram visas interaktionen mellan en slutanvändare som försöker logga in, användarhantering och autentiseringsprovidern.
I följande tabell beskrivs varje steg i autentiseringsprocessen.
[com.adobe.idp.um.webservices.WSSecurityHandler] errorCode:12803 errorCodeHEX:0x3203 message:WSSecurityHandler: UM authenticate returns exception : An error was discovered processing the <wsse:Security> header. (WSSecurityEngine: Invalid timestamp The security semantics of message have expired).
Om kataloghantering
Användarhantering paketeras med en katalogtjänstleverantör (DirectoryManagerService) som stöder anslutningar till LDAP-kataloger. Om din organisation använder en annan databas än LDAP för att lagra användarposter, kan du skapa en egen katalogtjänstleverantör som fungerar med din databas.
Katalogtjänstleverantörer hämtar poster från ett användararkiv på begäran av användarhantering. Användarhantering cachelagrar regelbundet användar- och gruppposter i databasen för att förbättra prestandan.
Katalogtjänstprovidern kan användas för att synkronisera användarhanteringsdatabasen med användararkivet. Det här steget ser till att all användarkataloginformation och alla användar- och gruppposter är uppdaterade.
Dessutom kan du med DirectoryManagerService skapa och hantera domäner. Domäner definierar olika användarbaser. Gränsen för en domän definieras vanligtvis utifrån hur din organisation är strukturerad eller hur ditt användararkiv är konfigurerat. Användarhanteringsdomäner innehåller konfigurationsinställningar som autentiseringsproviders och katalogtjänstleverantörer använder.
I den konfigurations-XML som användarhanteringen exporterar innehåller rotnoden med attributvärdet Domains
ett XML-element för varje domän som definierats för användarhantering. Var och en av dessa element innehåller andra element som definierar aspekter av domänen som är kopplad till specifika tjänsteleverantörer.
Om objectSID-värden
När du använder Active Directory är det viktigt att förstå att värdet objectSID
inte är ett unikt attribut i flera domäner. Det här värdet lagrar ett objekts säkerhetsidentifierare. I en flerdomänsmiljö (till exempel ett träd med domäner) kan värdet objectSID
vara annorlunda.
Värdet objectSID
ändras om ett objekt flyttas från en Active Directory-domän till en annan domän. Vissa objekt har samma objectSID
-värde någonstans i domänen. Till exempel skulle grupper som BUILTIN\Administrators, BUILTIN\Power Users o.s.v. ha samma objectSID
-värde oavsett domäner. Dessa objectSID
värden är välkända.
Lägga till användare adding-users
Du kan använda kataloghanterarens tjänst-API (Java och webbtjänst) för att lägga till användare i AEM Forms via programkod. När du har lagt till en användare kan du använda den användaren när du utför en tjänståtgärd som kräver en användare. Du kan till exempel tilldela en uppgift till den nya användaren.
Sammanfattning av steg summary-of-steps
Så här lägger du till en användare:
- Inkludera projektfiler.
- Skapa en DirectoryManagerService-klient.
- Definiera användarinformation.
- Lägg till användaren i AEM Forms.
- Kontrollera att användaren har lagts till.
Inkludera projektfiler
Inkludera nödvändiga filer i utvecklingsprojektet. Om du skapar ett klientprogram med Java, inkluderar du de JAR-filer som behövs. Om du använder webbtjänster inkluderar du proxyfilerna.
Skapa en DirectoryManagerService-klient
Innan du programmässigt kan utföra en kataloghanterartjänståtgärd måste du skapa en katalog Manager-tjänste-API-klient.
Definiera användarinformation
När du lägger till en ny användare med hjälp av kataloghanterarens tjänst-API, definierar du information för den användaren. När du lägger till en ny användare anger du vanligtvis följande värden:
- Domännamn: Domänen som användaren tillhör (till exempel
DefaultDom
). - Användaridentifierarvärde: Användarens identifierarvärde (till exempel
wblue
). - Huvudtyp: Typen av användare (du kan till exempel ange
USER)
). - Förnamn: Ett angivet namn för användaren (till exempel
Wendy
). - Efternamn: Användarens familjenamn (till exempel
Blue)
). - Språk: Språkinformation för användaren.
Lägg till användaren i AEM Forms
När du har definierat användarinformationen kan du lägga till användaren i AEM Forms. Om du vill lägga till en användare anropar du DirectoryManagerServiceClient
-objektets createLocalUser
-metod.
Verifiera att användaren lades till
Du kan verifiera att användaren har lagts till för att säkerställa att inga problem uppstod. Hitta den nya användaren med användaridentifierarvärdet.
Se även
Lägga till användare med Java API
Lägga till användare med API:t för webbtjänster
Lägga till användare med Java API add-users-using-the-java-api
Lägg till användare med hjälp av kataloghanterarens tjänst-API (Java):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, t.ex. adobe-usermanager-client.jar, i Java-projektets klassökväg.
-
Skapa en DirectoryManagerServices-klient.
Skapa ett
DirectoryManagerServiceClient
-objekt med hjälp av dess konstruktor och skicka ettServiceClientFactory
-objekt som innehåller anslutningsegenskaper. -
Definiera användarinformation.
- Skapa ett
UserImpl
-objekt med hjälp av dess konstruktor. - Ange huvudnamnet genom att anropa
UserImpl
-objektetssetDomainName
-metod. Skicka ett strängvärde som anger domännamnet. - Ange huvudtypen genom att anropa
UserImpl
-objektetssetPrincipalType
-metod. Skicka ett strängvärde som anger användartypen. Du kan till exempel angeUSER
. - Ange användaridentifierarvärdet genom att anropa
UserImpl
-objektetssetUserid
-metod. Skicka ett strängvärde som anger användaridentifierarvärdet. Du kan till exempel angewblue
. - Ange det kanoniska namnet genom att anropa
UserImpl
-objektetssetCanonicalName
-metod. Skicka ett strängvärde som anger användarens kanoniska namn. Du kan till exempel angewblue
. - Ange det angivna namnet genom att anropa
UserImpl
-objektetssetGivenName
-metod. Skicka ett strängvärde som anger användarens angivna namn. Du kan till exempel angeWendy
. - Ange familjenamnet genom att anropa
UserImpl
-objektetssetFamilyName
-metod. Skicka ett strängvärde som anger användarens familjenamn. Du kan till exempel angeBlue
.
note note NOTE Anropa en metod som tillhör objektet UserImpl
för att ange andra värden. Du kan till exempel ange språkvärdet genom att anropa metodensetLocale
för objektetUserImpl
. - Skapa ett
-
Lägg till användaren i AEM Forms.
Anropa
DirectoryManagerServiceClient
-objektetscreateLocalUser
-metod och skicka följande värden:- Objektet
UserImpl
som representerar den nya användaren - Ett strängvärde som representerar användarens lösenord
Metoden
createLocalUser
returnerar ett strängvärde som anger det lokala användaridentifierarvärdet. - Objektet
-
Kontrollera att användaren har lagts till.
- Skapa ett
PrincipalSearchFilter
-objekt med hjälp av dess konstruktor. - Ange användaridentifierarvärdet genom att anropa
PrincipalSearchFilter
-objektetssetUserId
-metod. Skicka ett strängvärde som representerar användaridentifierarvärdet. - Anropa
DirectoryManagerServiceClient
-objektetsfindPrincipals
-metod och skickaPrincipalSearchFilter
-objektet. Den här metoden returnerar enjava.util.List
-instans, där varje element är ettUser
-objekt. Iterera genom instansenjava.util.List
för att hitta användaren.
- Skapa ett
Se även
Snabbstart (SOAP): Lägga till användare med Java API
Lägga till användare med API:t för webbtjänster add-users-using-the-web-service-api
Lägg till användare med hjälp av kataloghanterarens tjänst-API (webbtjänst):
-
Inkludera projektfiler.
Skapa ett Microsoft .NET-projekt som använder MTOM. Kontrollera att du använder följande WSDL-definition för tjänstreferensen:
http://localhost:8080/soap/services/DirectoryManagerService?WSDL&lc_version=9.0.1
.note note NOTE Ersätt localhost
med IP-adressen för servern som är värd för AEM Forms. -
Skapa en DirectoryManagerService-klient.
-
Skapa ett
DirectoryManagerServiceClient
-objekt med hjälp av dess standardkonstruktor. -
Skapa ett
DirectoryManagerServiceClient.Endpoint.Address
-objekt med konstruktornSystem.ServiceModel.EndpointAddress
. Skicka ett strängvärde som anger WSDL till AEM Forms-tjänsten (till exempelhttp://localhost:8080/soap/services/DirectoryManagerService?blob=mtom
). Du behöver inte använda attributetlc_version
. Det här attributet används när du skapar en tjänstreferens. Se till att du anger?blob=mtom
. -
Skapa ett
System.ServiceModel.BasicHttpBinding
-objekt genom att hämta värdet för fältetDirectoryManagerServiceClient.Endpoint.Binding
. Skicka returvärdet tillBasicHttpBinding
. -
Ställ in
System.ServiceModel.BasicHttpBinding
-objektetsMessageEncoding
-fält tillWSMessageEncoding.Mtom
. Detta värde garanterar att MTOM används. -
Aktivera grundläggande HTTP-autentisering genom att utföra följande åtgärder:
- Tilldela användarnamnet för AEM formulär till fältet
DirectoryManagerServiceClient.ClientCredentials.UserName.UserName
. - Tilldela motsvarande lösenordsvärde till fältet
DirectoryManagerServiceClient.ClientCredentials.UserName.Password
. - Tilldela konstantvärdet
HttpClientCredentialType.Basic
till fältetBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Tilldela konstantvärdet
BasicHttpSecurityMode.TransportCredentialOnly
till fältetBasicHttpBindingSecurity.Security.Mode
.
- Tilldela användarnamnet för AEM formulär till fältet
-
-
Definiera användarinformation.
- Skapa ett
UserImpl
-objekt med hjälp av dess konstruktor. - Ange huvudnamnet genom att tilldela ett strängvärde till
UserImpl
-objektetsdomainName
-fält. - Ange huvudtypen genom att tilldela ett strängvärde till
UserImpl
-objektetsprincipalType
-fält. Du kan till exempel angeUSER
. - Ange användaridentifierarvärdet genom att tilldela ett strängvärde till
UserImpl
-objektetsuserid
-fält. - Ange det kanoniska namnvärdet genom att tilldela ett strängvärde till
UserImpl
-objektetscanonicalName
-fält. - Ange det angivna namnvärdet genom att tilldela ett strängvärde till
UserImpl
-objektetsgivenName
-fält. - Ange familjenamnvärdet genom att tilldela ett strängvärde till
UserImpl
-objektetsfamilyName
-fält.
- Skapa ett
-
Lägg till användaren i AEM Forms.
Anropa
DirectoryManagerServiceClient
-objektetscreateLocalUser
-metod och skicka följande värden:- Objektet
UserImpl
som representerar den nya användaren - Ett strängvärde som representerar användarens lösenord
Metoden
createLocalUser
returnerar ett strängvärde som anger det lokala användaridentifierarvärdet. - Objektet
-
Kontrollera att användaren har lagts till.
- Skapa ett
PrincipalSearchFilter
-objekt med hjälp av dess konstruktor. - Ange användaridentifierarvärdet för användaren genom att tilldela ett strängvärde som representerar användaridentifierarvärdet till
PrincipalSearchFilter
-objektetsuserId
-fält. - Anropa
DirectoryManagerServiceClient
-objektetsfindPrincipals
-metod och skickaPrincipalSearchFilter
-objektet. Den här metoden returnerar ettMyArrayOfUser
-samlingsobjekt, där varje element är ettUser
-objekt. Iterera genom samlingenMyArrayOfUser
för att hitta användaren.
- Skapa ett
Se även
Ta bort användare deleting-users
Du kan använda kataloghanterarens tjänst-API (Java och webbtjänst) för att ta bort användare från AEM Forms programmatiskt. När du har tagit bort en användare kan användaren inte längre användas för att utföra en tjänståtgärd som kräver en användare. Du kan till exempel inte tilldela en uppgift till en borttagen användare.
Sammanfattning av steg summary_of_steps-1
Så här tar du bort en användare:
- Inkludera projektfiler.
- Skapa en DirectoryManagerService-klient.
- Ange vilken användare som ska tas bort.
- Ta bort användaren från AEM Forms.
Inkludera projektfiler
Inkludera nödvändiga filer i utvecklingsprojektet. Om du skapar ett klientprogram med Java, inkluderar du de JAR-filer som behövs. Om du använder webbtjänster inkluderar du proxyfilerna.
Skapa en DirectoryManagerService-klient
Skapa en kataloghanterartjänstklient innan du programmässigt utför en API-åtgärd för en kataloghanterartjänst.
Ange vilken användare som ska tas bort
Du kan ange en användare som ska tas bort med användarens identifierarvärde.
Ta bort användaren från AEM Forms
Om du vill ta bort en användare anropar du DirectoryManagerServiceClient
-objektets deleteLocalUser
-metod.
Se även
Ta bort användare med Java API
Ta bort användare med webbtjänstens API
Ta bort användare med Java API delete-users-using-the-java-api
Ta bort användare med hjälp av kataloghanterarens tjänst-API (Java):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, t.ex. adobe-usermanager-client.jar, i Java-projektets klassökväg.
-
Skapa en DirectoryManagerService-klient.
Skapa ett
DirectoryManagerServiceClient
-objekt med hjälp av dess konstruktor och skicka ettServiceClientFactory
-objekt som innehåller anslutningsegenskaper. -
Ange vilken användare som ska tas bort.
- Skapa ett
PrincipalSearchFilter
-objekt med hjälp av dess konstruktor. - Ange användaridentifierarvärdet genom att anropa
PrincipalSearchFilter
-objektetssetUserId
-metod. Skicka ett strängvärde som representerar användaridentifierarvärdet. - Anropa
DirectoryManagerServiceClient
-objektetsfindPrincipals
-metod och skickaPrincipalSearchFilter
-objektet. Den här metoden returnerar enjava.util.List
-instans, där varje element är ettUser
-objekt. Iterera genom instansenjava.util.List
för att hitta användaren som ska tas bort.
- Skapa ett
-
Ta bort användaren från AEM Forms.
Anropa metoden
deleteLocalUser
för objektetDirectoryManagerServiceClient
och skicka värdet förUser
-objektetsoid
-fält. Anropa metodengetOid
för objektetUser
. Använd objektetUser
som har hämtats från instansenjava.util.List
.
Se även
Snabbstart (EJB-läge): Ta bort användare med Java API
Snabbstart (SOAP): Ta bort användare med Java API
Ta bort användare med webbtjänstens API delete-users-using-the-web-service-api
Ta bort användare med hjälp av kataloghanterarens tjänst-API (webbtjänst):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, t.ex. adobe-usermanager-client.jar, i Java-projektets klassökväg.
-
Skapa en DirectoryManagerService-klient.
-
Skapa ett
DirectoryManagerServiceClient
-objekt med hjälp av dess standardkonstruktor. -
Skapa ett
DirectoryManagerServiceClient.Endpoint.Address
-objekt med konstruktornSystem.ServiceModel.EndpointAddress
. Skicka ett strängvärde som anger WSDL till AEM Forms-tjänsten (till exempelhttp://localhost:8080/soap/services/DirectoryManagerService?blob=mtom
). Du behöver inte använda attributetlc_version
. Det här attributet används när du skapar en tjänstreferens. Se till att du angerblob=mtom.
-
Skapa ett
System.ServiceModel.BasicHttpBinding
-objekt genom att hämta värdet för fältetDirectoryManagerServiceClient.Endpoint.Binding
. Skicka returvärdet tillBasicHttpBinding
. -
Ställ in
System.ServiceModel.BasicHttpBinding
-objektetsMessageEncoding
-fält tillWSMessageEncoding.Mtom
. Detta värde garanterar att MTOM används. -
Aktivera grundläggande HTTP-autentisering genom att utföra följande åtgärder:
- Tilldela användarnamnet för AEM formulär till fältet
DirectoryManagerServiceClient.ClientCredentials.UserName.UserName
. - Tilldela motsvarande lösenordsvärde till fältet
DirectoryManagerServiceClient.ClientCredentials.UserName.Password
. - Tilldela konstantvärdet
HttpClientCredentialType.Basic
till fältetBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Tilldela konstantvärdet
BasicHttpSecurityMode.TransportCredentialOnly
till fältetBasicHttpBindingSecurity.Security.Mode
.
- Tilldela användarnamnet för AEM formulär till fältet
-
-
Ange vilken användare som ska tas bort.
- Skapa ett
PrincipalSearchFilter
-objekt med hjälp av dess konstruktor. - Ange användaridentifierarvärdet genom att tilldela ett strängvärde till
PrincipalSearchFilter
-objektetsuserId
-fält. - Anropa
DirectoryManagerServiceClient
-objektetsfindPrincipals
-metod och skickaPrincipalSearchFilter
-objektet. Den här metoden returnerar ettMyArrayOfUser
-samlingsobjekt, där varje element är ettUser
-objekt. Iterera genom samlingenMyArrayOfUser
för att hitta användaren. ObjektetUser
som hämtas från samlingsobjektetMyArrayOfUser
används för att ta bort användaren.
- Skapa ett
-
Ta bort användaren från AEM Forms.
Ta bort användaren genom att skicka
User
-objektetsoid
-fältvärde tillDirectoryManagerServiceClient
-objektetsdeleteLocalUser
-metod.
Se även
Skapa grupper creating-groups
Du kan använda API:t för kataloghanteringstjänsten (Java och webbtjänst) för att skapa AEM Forms-grupper programmatiskt. När du har skapat en grupp kan du använda den gruppen för att utföra en tjänståtgärd som kräver en grupp. Du kan till exempel tilldela en användare till den nya gruppen. (Se Hantera användare och grupper.)
Sammanfattning av steg summary_of_steps-2
Så här skapar du en grupp:
- Inkludera projektfiler.
- Skapa en DirectoryManagerService-klient.
- Kontrollera att gruppen inte finns.
- Skapa gruppen.
- Utför en åtgärd med gruppen.
Inkludera projektfiler
Inkludera nödvändiga filer i utvecklingsprojektet. Om du skapar ett klientprogram med Java, inkluderar du de JAR-filer som behövs.
Följande JAR-filer måste läggas till i projektets klassökväg:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-utilities.jar (krävs om AEM Forms används i JBoss)
- jbossall-client.jar (krävs om AEM Forms distribueras på JBoss)
Mer information om platsen för dessa JAR-filer finns i Inkludera AEM Forms Java-biblioteksfiler.
Skapa en DirectoryManagerService-klient
Innan du programmässigt kan utföra en kataloghanterartjänståtgärd måste du skapa en katalog Manager-tjänste-API-klient.
Avgör om gruppen finns
När du skapar en grupp kontrollerar du att gruppen inte finns i samma domän. Två grupper kan alltså inte ha samma namn inom samma domän. Om du vill utföra den här åtgärden gör du en sökning och filtrerar sökresultaten baserat på två värden. Ange huvudtypen till com.adobe.idp.um.api.infomodel.Principal.PRINCIPALTYPE_GROUP
för att säkerställa att bara grupper returneras. Se även till att du anger domännamnet.
Skapa gruppen
När du har fastställt att gruppen inte finns i domänen skapar du gruppen och anger följande attribut:
- CommonName: Namnet på gruppen.
- Domän: Domänen som gruppen läggs till i.
- Beskrivning: En beskrivning av gruppen.
Utför en åtgärd med gruppen
När du har skapat en grupp kan du utföra en åtgärd med gruppen. Du kan till exempel lägga till en användare i gruppen. Om du vill lägga till en användare i en grupp hämtar du det unika identifieringsvärdet för både användaren och gruppen. Skicka dessa värden till metoden addPrincipalToLocalGroup
.
Se även
Skapa grupper med Java API create-groups-using-the-java-api
Skapa en grupp med hjälp av kataloghanterarens tjänst-API (Java):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, t.ex. adobe-usermanager-client.jar, i Java-projektets klassökväg.
-
Skapa en DirectoryManagerService-klient.
Skapa ett
DirectoryManagerServiceClient
-objekt med hjälp av dess konstruktor och skicka ettServiceClientFactory
-objekt som innehåller anslutningsegenskaper. -
Avgör om gruppen finns.
- Skapa ett
PrincipalSearchFilter
-objekt med hjälp av dess konstruktor. - Ange huvudtypen genom att anropa
PrincipalSearchFilter
-objektetssetPrincipalType
-objekt. Skicka värdetcom.adobe.idp.um.api.infomodel.Principal.PRINCIPALTYPE_GROUP
. - Ange domänen genom att anropa
PrincipalSearchFilter
-objektetssetSpecificDomainName
-objekt. Skicka ett strängvärde som anger domännamnet. - Om du vill hitta en grupp anropar du
DirectoryManagerServiceClient
-objektetsfindPrincipals
-metod (ett huvudnamn kan vara en grupp). Skicka objektetPrincipalSearchFilter
som anger huvudtypen och domännamnet. Den här metoden returnerar enjava.util.List
-instans där varje element är enGroup
-instans. Varje gruppinstans följer det filter som anges med objektetPrincipalSearchFilter
. - Upprepa genom instansen
java.util.List
. Hämta gruppnamnet för varje element. Kontrollera att gruppnamnet inte är lika med det nya gruppnamnet.
- Skapa ett
-
Skapa gruppen.
- Om gruppen inte finns anropar du
Group
-objektetssetCommonName
-metod och skickar ett strängvärde som anger gruppnamnet. - Anropa
Group
-objektetssetDescription
-metod och skicka ett strängvärde som anger gruppbeskrivningen. - Anropa
Group
-objektetssetDomainName
-metod och skicka ett strängvärde som anger domännamnet. - Anropa metoden
createLocalGroup
för objektetDirectoryManagerServiceClient
och skicka instansenGroup
.
Metoden
createLocalUser
returnerar ett strängvärde som anger det lokala användaridentifierarvärdet. - Om gruppen inte finns anropar du
-
Utför en åtgärd med gruppen.
- Skapa ett
PrincipalSearchFilter
-objekt med hjälp av dess konstruktor. - Ange användaridentifierarvärdet genom att anropa
PrincipalSearchFilter
-objektetssetUserId
-metod. Skicka ett strängvärde som representerar användaridentifierarvärdet. - Anropa
DirectoryManagerServiceClient
-objektetsfindPrincipals
-metod och skickaPrincipalSearchFilter
-objektet. Den här metoden returnerar enjava.util.List
-instans, där varje element är ettUser
-objekt. Iterera genom instansenjava.util.List
för att hitta användaren. - Lägg till en användare i gruppen genom att anropa
DirectoryManagerServiceClient
-objektetsaddPrincipalToLocalGroup
-metod. Skicka returvärdet förUser
-objektetsgetOid
-metod. Skicka returvärdet förgetOid
-objektetsGroup
-metod (använd instansenGroup
som representerar den nya gruppen).
- Skapa ett
Se även
Hantera användare och grupper managing-users-and-groups
I det här avsnittet beskrivs hur du kan använda (Java) för att programmässigt tilldela, ta bort och fråga domäner, användare och grupper.
"objectsid"
, som är ett binärt värde). Novell eDirectory-attributet "GUID"
är till exempel inte en enkel strängdatatyp och kommer därför inte att fungera.- Använd
"objectsid"
för Active Directory. - Använd
"nsuniqueid"
för SunOne.
Sammanfattning av steg summary_of_steps-3
Så här hanterar du användare och grupper:
- Inkludera projektfiler.
- Skapa en DirectoryManagerService-klient.
- Anropa lämpliga användar- eller gruppåtgärder.
Inkludera projektfiler
Inkludera nödvändiga filer i utvecklingsprojektet. Om du skapar ett klientprogram med Java inkluderar du de JAR-filer som behövs. Om du använder webbtjänster måste du inkludera proxyfilerna.
Skapa en DirectoryManagerService-klient
Innan du programmässigt kan utföra en kataloghanterartjänståtgärd måste du skapa en kataloghanterartjänstklient. Med Java-API:t uppnås detta genom att ett DirectoryManagerServiceClient
-objekt skapas. Med webbtjänstens API:t uppnås detta genom att ett DirectoryManagerServiceService
-objekt skapas.
Anropa lämpliga användar- eller gruppåtgärder
När du har skapat tjänstklienten kan du sedan anropa användar- eller grupphanteringsåtgärderna. Med tjänstklienten kan du tilldela, ta bort och fråga domäner, användare och grupper. Observera att det går att lägga till ett katalogobjekt eller ett lokalt säkerhetsobjekt i en lokal grupp, men det går inte att lägga till ett lokalt säkerhetsobjekt i en kataloggrupp.
Se även
Hantera användare och grupper med Java API
Hantera användare och grupper med webbtjänstens API
Hantera användare och grupper med Java API managing-users-and-groups-using-the-java-api
Utför följande uppgifter för att programmässigt hantera användare, grupper och domäner med (Java):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, t.ex. adobe-usermanager-client.jar, i Java-projektets klassökväg. Mer information om platsen för dessa filer finns i Inkludera AEM Forms Java-biblioteksfiler.
-
Skapa en DirectoryManagerService-klient.
Skapa ett
DirectoryManagerServiceClient
-objekt med hjälp av dess konstruktor och skicka ettServiceClientFactory
-objekt som innehåller anslutningsegenskaper. Mer information finns i Ange anslutningsegenskaper. -
Anropa lämpliga användar- eller gruppåtgärder.
Om du vill hitta en användare eller grupp anropar du en av
DirectoryManagerServiceClient
-objektets metoder för att hitta objekt (eftersom ett huvudnamn kan vara en användare eller en grupp). I exemplet nedan anropas metodenfindPrincipals
med hjälp av ett sökfilter (ettPrincipalSearchFilter
-objekt).Eftersom returvärdet i det här fallet är en
java.util.List
som innehållerPrincipal
objekt, itererar du genom resultatet och konverterarPrincipal
-objekten till antingenUser
- ellerGroup
-objekt.Använd det resulterande
User
- ellerGroup
-objektet (som båda ärver från gränssnittetPrincipal
) för att hämta den information du behöver i dina arbetsflöden. Domännamnet och kanoniska namnvärden är i kombination unika för ett huvudnamn. Dessa hämtas genom att metodernagetDomainName
ochgetCanonicalName
för objektetPrincipal
anropas.Om du vill ta bort en lokal användare anropar du
DirectoryManagerServiceClient
-objektetsdeleteLocalUser
-metod och skickar användarens identifierare.Om du vill ta bort en lokal grupp anropar du
DirectoryManagerServiceClient
-objektetsdeleteLocalGroup
-metod och skickar gruppens identifierare.
Se även
Hantera användare och grupper med webbtjänstens API managing-users-and-groups-using-the-web-service-api
Utför följande uppgifter för att programmässigt hantera användare, grupper och domäner med hjälp av kataloghanterarens tjänst-API (webbtjänst):
-
Inkludera projektfiler.
- Skapa en Microsoft .NET-klientsammansättning som använder kataloghanterarens WSDL. (Se Anropa AEM Forms med Base64-kodning.)
- Referera till Microsoft .NET-klientsammansättningen. (Se Skapa en .NET-klientsammansättning som använder Base64-kodning.)
-
Skapa en DirectoryManagerService-klient.
Skapa ett
DirectoryManagerServiceService
-objekt med hjälp av proxyklassens konstruktor. -
Anropa lämpliga användar- eller gruppåtgärder.
Om du vill hitta en användare eller grupp anropar du en av
DirectoryManagerServiceService
-objektets metoder för att hitta objekt (eftersom ett huvudnamn kan vara en användare eller en grupp). I exemplet nedan anropas metodenfindPrincipalsWithFilter
med hjälp av ett sökfilter (ettPrincipalSearchFilter
-objekt). När du använder ettPrincipalSearchFilter
-objekt returneras bara lokala objekt om egenskapenisLocal
är inställd påtrue
. Detta beteende skiljer sig från vad som skulle hända med Java API.note note NOTE Om det maximala antalet resultat inte anges i sökfiltret (via fältet PrincipalSearchFilter.resultsMax
) returneras maximalt 1 000 resultat. Detta är ett annat beteende än det som inträffar med Java API, där 10 resultat är standardvärdet. Sökmetoder somfindGroupMembers
ger inte heller några resultat om inte det maximala antalet resultat anges i sökfiltret (till exempel via fältetGroupMembershipSearchFilter.resultsMax
). Detta gäller alla sökfilter som ärver från klassenGenericSearchFilter
. Mer information finns i AEM Forms API Reference.Eftersom returvärdet i det här fallet är ett
object[]
som innehållerPrincipal
objekt, itererar du genom resultatet och konverterarPrincipal
-objekten till antingenUser
- ellerGroup
-objekt.Använd det resulterande
User
- ellerGroup
-objektet (som båda ärver från gränssnittetPrincipal
) för att hämta den information du behöver i dina arbetsflöden. Domännamnet och kanoniska namnvärden är i kombination unika för ett huvudnamn. Dessa hämtas genom attPrincipal
-objektetsdomainName
- respektivecanonicalName
-fält anropas.Om du vill ta bort en lokal användare anropar du
DirectoryManagerServiceService
-objektetsdeleteLocalUser
-metod och skickar användarens identifierare.Om du vill ta bort en lokal grupp anropar du
DirectoryManagerServiceService
-objektetsdeleteLocalGroup
-metod och skickar gruppens identifierare.
Se även
Hantera roller och behörigheter managing-roles-and-permissions
I det här avsnittet beskrivs hur du kan använda Java (Authorization Manager Service API) för att programmässigt tilldela, ta bort och fastställa roller och behörigheter.
I AEM Forms är en roll en grupp behörigheter för åtkomst till en eller flera resurser på systemnivå. Dessa behörigheter skapas med hjälp av användarhantering och används av tjänstkomponenterna. En administratör kan t.ex. tilldela rollen "Principuppsättningens författare" till en grupp användare. Rights Management skulle sedan tillåta användare i den gruppen med den rollen att skapa principuppsättningar via administrationskonsolen.
Det finns två typer av roller: standardroller och anpassade roller. Standardroller (systemroller) finns redan i AEM Forms. Det antas att standardroller inte kan tas bort eller ändras av administratören och därför inte kan ändras. Anpassade roller som skapas av administratören, som senare kan ändra eller ta bort dem, kan därför ändras.
Roller gör det enklare att hantera behörigheter. När en roll tilldelas till ett huvudkonto tilldelas automatiskt en uppsättning behörigheter till det huvudkontot, och alla specifika åtkomstrelaterade beslut för huvudkontot baseras på den övergripande uppsättningen tilldelade behörigheter.
Sammanfattning av steg summary_of_steps-4
Så här hanterar du roller och behörigheter:
- Inkludera projektfiler.
- Skapa en AuthorizationManagerService-klient.
- Anropa lämpliga roll- eller behörighetsåtgärder.
Inkludera projektfiler
Inkludera nödvändiga filer i utvecklingsprojektet. Om du skapar ett klientprogram med Java inkluderar du de JAR-filer som behövs. Om du använder webbtjänster måste du inkludera proxyfilerna.
Skapa en AuthorizationManagerService-klient
Innan du programmässigt kan utföra en AuthorizationManagerService-åtgärd måste du skapa en AuthorizationManagerService-klient. Med Java-API:t uppnås detta genom att ett AuthorizationManagerServiceClient
-objekt skapas.
Anropa lämplig roll eller lämpliga behörighetsåtgärder
När du har skapat tjänstklienten kan du sedan anropa rollen eller behörighetsåtgärderna. Med tjänstklienten kan du tilldela, ta bort och fastställa roller och behörigheter.
Se även
Hantera roller och behörigheter med Java API
Hantera roller och behörigheter med webbtjänstens API
Hantera roller och behörigheter med Java API managing-roles-and-permissions-using-the-java-api
Så här hanterar du roller och behörigheter med Java (Authorization Manager Service API):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, t.ex. adobe-usermanager-client.jar, i Java-projektets klassökväg.
-
Skapa en AuthorizationManagerService-klient.
Skapa ett
AuthorizationManagerServiceClient
-objekt med hjälp av dess konstruktor och skicka ettServiceClientFactory
-objekt som innehåller anslutningsegenskaper. -
Anropa lämpliga roll- eller behörighetsåtgärder.
Om du vill tilldela en roll till ett huvudkonto anropar du
assignRole
-objektetsAuthorizationManagerServiceClient
-metod och skickar följande värden:- Ett
java.lang.String
-objekt som innehåller rollidentifieraren - En array med
java.lang.String
objekt som innehåller huvudidentifierare.
Om du vill ta bort en roll från ett huvudkonto anropar du
unassignRole
-objektetsAuthorizationManagerServiceClient
-metod och skickar följande värden:- Ett
java.lang.String
-objekt som innehåller rollidentifieraren. - En array med
java.lang.String
objekt som innehåller huvudidentifierare.
- Ett
Se även
Snabbstart (SOAP): Hantera roller och behörigheter med Java API
Hantera roller och behörigheter med webbtjänstens API managing-roles-and-permissions-using-the-web-service-api
Hantera roller och behörigheter med hjälp av API:t för tjänsten Authorization Manager (webbtjänst):
-
Inkludera projektfiler.
Skapa ett Microsoft .NET-projekt som använder MTOM. Kontrollera att du använder följande WSDL-definition:
http://localhost:8080/soap/services/AuthorizationManagerService?WSDL&lc_version=9.0.1
.note note NOTE Ersätt localhost
med IP-adressen för servern som är värd för AEM Forms. -
Skapa en AuthorizationManagerService-klient.
-
Skapa ett
AuthorizationManagerServiceClient
-objekt med hjälp av dess standardkonstruktor. -
Skapa ett
AuthorizationManagerServiceClient.Endpoint.Address
-objekt med konstruktornSystem.ServiceModel.EndpointAddress
. Skicka ett strängvärde som anger WSDL till AEM Forms-tjänsten (till exempelhttp://localhost:8080/soap/services/AuthorizationManagerService?blob=mtom
). Du behöver inte använda attributetlc_version
. Det här attributet används när du skapar en tjänstreferens. -
Skapa ett
System.ServiceModel.BasicHttpBinding
-objekt genom att hämta värdet för fältetAuthorizationManagerServiceClient.Endpoint.Binding
. Skicka returvärdet tillBasicHttpBinding
. -
Ställ in
System.ServiceModel.BasicHttpBinding
-objektetsMessageEncoding
-fält tillWSMessageEncoding.Mtom
. Detta värde garanterar att MTOM används. -
Aktivera grundläggande HTTP-autentisering genom att utföra följande åtgärder:
- Tilldela användarnamnet för AEM formulär till fältet
AuthorizationManagerServiceClient.ClientCredentials.UserName.UserName
. - Tilldela motsvarande lösenordsvärde till fältet
AuthorizationManagerServiceClient.ClientCredentials.UserName.Password
. - Tilldela konstantvärdet
HttpClientCredentialType.Basic
till fältetBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Tilldela konstantvärdet
BasicHttpSecurityMode.TransportCredentialOnly
till fältetBasicHttpBindingSecurity.Security.Mode
.
- Tilldela användarnamnet för AEM formulär till fältet
-
-
Anropa lämpliga roll- eller behörighetsåtgärder.
Om du vill tilldela en roll till ett huvudkonto anropar du
assignRole
-objektetsAuthorizationManagerServiceClient
-metod och skickar följande värden:- Ett
string
-objekt som innehåller rollidentifieraren - Ett
MyArrayOf_xsd_string
-objekt som innehåller huvudidentifierare.
Om du vill ta bort en roll från ett huvudkonto anropar du
unassignRole
-objektetsAuthorizationManagerServiceService
-metod och skickar följande värden:- Ett
string
-objekt som innehåller rollidentifieraren. - En array med
string
objekt som innehåller huvudidentifierare.
- Ett
Se även
Autentiserar användare authenticating-users
I det här avsnittet beskrivs hur du kan använda tjänstAPI:t för Autentiseringshanteraren (Java) för att göra det möjligt för dina klientprogram att autentisera användare via programkod.
Användarautentisering kan krävas för interaktion med en företagsdatabas eller andra företagsdatabaser där säkra data lagras.
Tänk dig till exempel ett scenario där en användare anger ett användarnamn och lösenord på en webbsida och skickar värdena till en J2EE-programserver som är värd för Forms. Ett anpassat Forms-program kan autentisera användaren med tjänsten Autentiseringshanteraren.
Om autentiseringen lyckas får programmet åtkomst till en skyddad företagsdatabas. Annars skickas ett meddelande till användaren om att användaren inte är en behörig användare.
I följande diagram visas programmets logikflöde.
I följande tabell beskrivs stegen i det här diagrammet
Sammanfattning av steg summary_of_steps-5
Så här autentiserar du en användare programmatiskt:
- Inkludera projektfiler.
- Skapa en AuthenticationManagerService-klient.
- Anropa autentiseringsåtgärden.
- Hämta vid behov kontexten så att klientprogrammet kan vidarebefordra den till en annan AEM Forms-tjänst för autentisering.
Inkludera projektfiler
Inkludera nödvändiga filer i utvecklingsprojektet. Om du skapar ett klientprogram med Java inkluderar du de JAR-filer som behövs. Om du använder webbtjänster måste du inkludera proxyfilerna.
Skapa en AuthenticationManagerService-klient
Innan du kan autentisera en användare programmatiskt måste du skapa en AuthenticationManagerService-klient. Skapa ett AuthenticationManagerServiceClient
-objekt när du använder Java API.
Anropa autentiseringsåtgärden
När du har skapat tjänstklienten kan du sedan anropa autentiseringsåtgärden. Den här åtgärden kräver information om användaren, t.ex. användarens namn och lösenord. Om användaren inte autentiserar genereras ett undantag.
Hämta autentiseringskontexten
När du har autentiserat användaren kan du skapa en kontext baserad på den autentiserade användaren. Sedan kan du använda innehållet för att anropa andra AEM Forms-tjänster. Du kan till exempel använda kontexten för att skapa ett EncryptionServiceClient
-dokument och kryptera ett PDF-dokument med ett lösenord. Kontrollera att den autentiserade användaren har rollen Services User
som krävs för att anropa en AEM Forms-tjänst.
Se även
Inkludera AEM Forms Java-biblioteksfiler
Autentisera en användare med Java API authenticate-a-user-using-the-java-api
Autentisera en användare med tjänstens API (Java) för Autentiseringshanteraren:
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, t.ex. adobe-usermanager-client.jar, i Java-projektets klassökväg.
-
Skapa en AuthenticationManagerServices-klient.
Skapa ett
AuthenticationManagerServiceClient
-objekt med hjälp av dess konstruktor och skicka ettServiceClientFactory
-objekt som innehåller anslutningsegenskaper. -
Anropa autentiseringsåtgärden.
Anropa
AuthenticationManagerServiceClient
-objektetsauthenticate
-metod och skicka följande värden:- Ett
java.lang.String
-objekt som innehåller användarens namn. - En bytearray (ett
byte[]
-objekt) som innehåller användarens lösenord. Du kan hämta objektetbyte[]
genom att anropa metodengetBytes
för objektetjava.lang.String
.
Autentiseringsmetoden returnerar ett
AuthResult
-objekt som innehåller information om den autentiserade användaren. - Ett
-
Hämta autentiseringskontexten.
Anropa
ServiceClientFactory
-objektetsgetContext
-metod, som returnerar ettContext
-objekt.Anropa sedan
Context
-objektetsinitPrincipal
-metod och skickaAuthResult
.
Autentisera en användare med webbtjänstens API authenticate-a-user-using-the-web-service-api
Autentisera en användare med Authentication Manager Service API (webbtjänst):
-
Inkludera projektfiler.
- Skapa en Microsoft .NET-klientsammansättning som använder WSDL för autentiseringshanteraren. (Se Anropa AEM Forms med Base64-kodning.)
- Referera till Microsoft .NET-klientsammansättningen. (Se "Referera till .NET-klientsammansättningen" i Anropa AEM Forms med Base64-kodning.)
-
Skapa en AuthenticationManagerService-klient.
Skapa ett
AuthenticationManagerServiceService
-objekt med hjälp av proxyklassens konstruktor. -
Anropa autentiseringsåtgärden.
Anropa
AuthenticationManagerServiceClient
-objektetsauthenticate
-metod och skicka följande värden:- Ett
string
-objekt som innehåller användarens namn - En bytearray (ett
byte[]
-objekt) som innehåller användarens lösenord. Du kan hämta objektetbyte[]
genom att konvertera ettstring
-objekt som innehåller lösenordet till enbyte[]
-array med hjälp av den logik som visas i exemplet nedan. - Det returnerade värdet blir ett
AuthResult
-objekt som kan användas för att hämta information om användaren. I exemplet nedan hämtas användarens information genom att först hämtaAuthResult
-objektetsauthenticatedUser
-fält och därefter hämta det resulterandeUser
-objektetscanonicalName
- ochdomainName
-fält.
- Ett
Se även
Synkronisera användare programmatiskt programmatically-synchronizing-users
Du kan synkronisera användare programmatiskt med API:t för användarhantering. När du synkroniserar användare uppdaterar du AEM Forms med användardata som finns i din användardatabas. Anta till exempel att du lägger till nya användare i din användardatabas. När du har utfört en synkroniseringsåtgärd blir de nya användarna AEM formuläranvändare. Även användare som inte längre finns i din användardatabas tas bort från AEM Forms.
I följande diagram visas AEM Forms-synkronisering med en användardatabas.
I följande tabell beskrivs stegen i det här diagrammet
Sammanfattning av steg summary_of_steps-6
Så här synkroniserar du användare programmatiskt:
- Inkludera projektfiler.
- Skapa en UserManagerUtilServiceClient-klient.
- Ange företagsdomänen.
- Anropa autentiseringsåtgärden.
- Kontrollera om synkroniseringsåtgärden är slutförd
Inkludera projektfiler
Inkludera nödvändiga filer i utvecklingsprojektet. Om du skapar ett klientprogram med Java inkluderar du de JAR-filer som behövs. Om du använder webbtjänster måste du inkludera proxyfilerna.
Skapa en UserManagerUtilServiceClientclient
Innan du kan synkronisera användare programmatiskt måste du skapa ett UserManagerUtilServiceClient
-objekt.
Ange företagsdomänen
Innan du utför en synkroniseringsåtgärd med API:t för användarhantering anger du den företagsdomän som användarna tillhör. Du kan ange en eller flera företagsdomäner. Innan du programmässigt kan utföra en synkroniseringsåtgärd måste du konfigurera en företagsdomän med hjälp av administrationskonsolen. (Se Administrationshjälp.)
Starta synkroniseringsåtgärden
När du har angett en eller flera företagsdomäner kan du utföra synkroniseringsåtgärden. Hur lång tid det tar att utföra den här åtgärden beror på antalet användarposter som finns i användardatabasen.
Kontrollera om synkroniseringsåtgärden är slutförd
När du har utfört en synkroniseringsåtgärd programmatiskt kan du avgöra om åtgärden är slutförd.
Se även
Inkludera AEM Forms Java-biblioteksfiler
Synkronisera användare programmatiskt med Java API programmatically-synchronizing-users-using-the-java-api
Synkronisera användare med hjälp av API:t för användarhantering (Java):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, t.ex. adobe-usermanager-client.jar och adobe-usermanager-util-client.jar, i Java-projektets klassökväg.
-
Skapa en UserManagerUtilServiceClient-klient.
Skapa ett
UserManagerUtilServiceClient
-objekt med hjälp av dess konstruktor och skicka ettServiceClientFactory
-objekt som innehåller anslutningsegenskaper. -
Ange företagsdomänen.
- Anropa
UserManagerUtilServiceClient
-objektetsscheduleSynchronization
-metod för att starta användarsynkroniseringsåtgärden. - Skapa en
java.util.Set
-instans med enHashSet
-konstruktor. Se till att du angerString
som datatyp. Den härJava.util.Set
-instansen lagrar de domännamn som synkroniseringsåtgärden gäller för. - För varje domännamn som ska läggas till anropar du
java.util.Set
-objektets add-metod och skickar domännamnet.
- Anropa
-
Anropa synkroniseringsåtgärden.
Anropa
ServiceClientFactory
-objektetsgetContext
-metod, som returnerar ettContext
-objekt.Anropa sedan
Context
-objektetsinitPrincipal
-metod och skickaAuthResult
.
Se även
Synkronisera användare programmatiskt
Inkludera AEM Forms Java-biblioteksfiler