Esempi ed esempi in questo documento sono disponibili solo per AEM Forms nell'ambiente JEE.
Gestione utente
Potete utilizzare l'API di gestione utente per creare applicazioni client in grado di gestire ruoli, autorizzazioni e entità (che possono essere utenti o gruppi), nonché di autenticare gli utenti. L'API di gestione utente è costituita dalle seguenti API AEM Forms:
Gestione utente consente di assegnare, rimuovere e determinare ruoli e autorizzazioni. Consente inoltre di assegnare, rimuovere ed eseguire query su domini, utenti e gruppi. Infine, potete utilizzare Gestione utente per autenticare gli utenti.
In Aggiunta di utenti comprenderete come aggiungere utenti a livello di programmazione. Questa sezione utilizza l'API del servizio Directory Manager.
In Eliminazione di utenti sarà possibile comprendere come eliminare gli utenti a livello di programmazione. Questa sezione utilizza l'API del servizio Directory Manager.
In Gestione di utenti e gruppi comprenderete la differenza tra un utente locale e un utente di directory e vedrete alcuni esempi di utilizzo delle API Java e dei servizi Web per gestire gli utenti e i gruppi a livello di programmazione. Questa sezione utilizza l'API del servizio Directory Manager.
In Gestione di ruoli e autorizzazioni verranno illustrati i ruoli e le autorizzazioni del sistema e le azioni che è possibile eseguire a livello di programmazione per incrementarli, nonché esempi di come utilizzare le API Java e dei servizi Web per gestire in modo programmatico ruoli e autorizzazioni. In questa sezione vengono utilizzate sia l'API del servizio Directory Manager che l'API del servizio Gestione autorizzazioni.
In Autenticazione utenti sono disponibili alcuni esempi sull'utilizzo delle API Java e dei servizi Web per l'autenticazione programmatica degli utenti. In questa sezione viene utilizzata l’API del servizio Gestione autorizzazioni.
Informazioni sul processo di autenticazione
Gestione utente fornisce funzionalità di autenticazione integrate e consente di connettersi con il proprio provider di autenticazione. Quando User Management riceve una richiesta di autenticazione (ad esempio, un utente tenta di eseguire l'accesso), trasmette le informazioni utente al provider di autenticazione per l'autenticazione. Gestione utente riceve i risultati dal provider di autenticazione dopo l'autenticazione dell'utente.
Nel diagramma seguente è illustrata l'interazione tra un utente finale che tenta di eseguire l'accesso, Gestione utente e il provider di autenticazione.
La tabella seguente descrive ogni fase del processo di autenticazione.
Incremento |
Descrizione |
---|---|
1 |
Un utente tenta di accedere a un servizio che richiama Gestione utente. L'utente specifica un nome utente e una password. |
2 |
Gestione utente invia al provider di autenticazione il nome utente e la password, nonché le informazioni di configurazione. |
3 |
Il provider di autenticazione si connette all'archivio utenti e autentica l'utente. |
4 |
Il provider di autenticazione restituisce i risultati a Gestione utente. |
5 |
Gestione utente consente all'utente di effettuare l'accesso o nega l'accesso al prodotto. |
Se il fuso orario del server è diverso dal fuso orario del client, quando si utilizza il WSDL per il servizio AEM Forms Generate PDF su uno stack SOAP nativo utilizzando un client .NET su un cluster di server applicazioni WebSphere, potrebbe verificarsi il seguente errore di autenticazione di gestione utente:
[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).
Informazioni sulla gestione delle directory
User Management viene fornito con un provider di servizi di directory (DirectoryManagerService) che supporta le connessioni alle directory LDAP. Se l’organizzazione utilizza un archivio non LDAP per memorizzare i record utente, potete creare un provider di servizi di directory personalizzato che collabori con il repository.
I fornitori di servizi di directory recuperano i record da un archivio utenti su richiesta di Gestione utente. Gestione utenti memorizza regolarmente nella cache i record di utenti e gruppi presenti nel database per migliorare le prestazioni.
Il provider del servizio di directory può essere utilizzato per sincronizzare il database Gestione utente con lo store utente. Questo passaggio assicura che tutte le informazioni sulla directory utente e tutti i record utente e gruppo siano aggiornati.
Inoltre, DirectoryManagerService consente di creare e gestire i domini. I domini definiscono diverse basi utente. Il limite di un dominio viene generalmente definito in base alla struttura dell’organizzazione o alla configurazione dell’archivio utenti. I domini di gestione utenti forniscono le impostazioni di configurazione utilizzate dai provider di autenticazione e dai fornitori di servizi di directory.
Nel file XML di configurazione esportato da User Management, il nodo principale con il valore dell'attributo Domains
contiene un elemento XML per ciascun dominio definito per User Management. Ciascuno di questi elementi contiene altri elementi che definiscono gli aspetti del dominio associato a fornitori di servizi specifici.
Informazioni sui valori objectSID
Quando si utilizza Active Directory, è importante comprendere che un valore objectSID
non è un attributo univoco tra più domini. Questo valore memorizza l'identificatore di protezione di un oggetto. In un ambiente con più domini (ad esempio, una struttura ad albero di domini) il valore objectSID
può essere diverso.
Un valore objectSID
cambierebbe se un oggetto venisse spostato da un dominio Active Directory a un altro. Alcuni oggetti hanno lo stesso valore objectSID
ovunque nel dominio. Ad esempio, gruppi come BUILTIN\Administrators, BUILTIN\Power Users e così via avranno lo stesso valore objectSID
indipendentemente dai domini. Questi valori objectSID
sono noti.
È possibile utilizzare l'API del servizio Directory Manager (Java e il servizio Web) per aggiungere gli utenti a AEM Forms a livello di programmazione. Dopo aver aggiunto un utente, potete utilizzarlo quando eseguite un'operazione di servizio che richiede un utente. Ad esempio, potete assegnare un’attività al nuovo utente.
Per aggiungere un utente, effettuate le seguenti operazioni:
Includi file di progetto
Includete i file necessari nel progetto di sviluppo. Se create un'applicazione client utilizzando Java, includete i file JAR necessari. Se utilizzate i servizi Web, includete i file proxy.
Creare un client DirectoryManagerService
Prima di eseguire un'operazione del servizio Directory Manager in modo programmatico, creare un client API Directory Manager Service.
Definizione delle informazioni utente
Quando aggiungete un nuovo utente utilizzando l'API di Directory Manager Service, definite le informazioni per tale utente. In genere, quando si aggiunge un nuovo utente, vengono definiti i seguenti valori:
DefaultDom
).wblue
).USER)
.Wendy
).Blue)
.Aggiungere l'utente a AEM Forms
Dopo aver definito le informazioni utente, potete aggiungere l’utente a AEM Forms. Per aggiungere un utente, richiamare il metodo DirectoryManagerServiceClient
dell'oggetto createLocalUser
.
Verificare che l'utente sia stato aggiunto
Potete verificare che l'utente sia stato aggiunto per assicurarsi che non si siano verificati problemi. Individuate il nuovo utente utilizzando il valore dell'identificatore utente.
Consulta anche
Aggiunta di utenti tramite l'API Java
Aggiunta di utenti tramite l'API del servizio Web
Inclusione file libreria Java AEM Forms
Impostazione delle proprietà di connessione
Aggiungete utenti utilizzando l'API del servizio Directory Manager (Java):
Includere i file di progetto.
Includete file JAR client, ad esempio adobe-usermanager-client.jar, nel percorso di classe del progetto Java.
Creare un client DirectoryManagerServices.
Creare un oggetto DirectoryManagerServiceClient
utilizzando il relativo costruttore e passando un oggetto ServiceClientFactory
che contiene proprietà di connessione.
Definite le informazioni utente.
UserImpl
utilizzando il relativo costruttore.UserImpl
dell'oggetto setDomainName
. Passa un valore di stringa che specifica il nome del dominio.UserImpl
dell'oggetto setPrincipalType
. Passa un valore di stringa che specifica il tipo di utente. Ad esempio, è possibile specificare USER
.setUserid
dell'oggetto UserImpl
. Passa un valore di stringa che specifica il valore dell'identificatore utente. Ad esempio, è possibile specificare wblue
.UserImpl
dell'oggetto setCanonicalName
. Passa un valore di stringa che specifica il nome canonico dell'utente. Ad esempio, è possibile specificare wblue
.UserImpl
dell'oggetto setGivenName
. Passa un valore di stringa che specifica il nome specificato dall'utente. Ad esempio, è possibile specificare Wendy
.UserImpl
dell'oggetto setFamilyName
. Passa un valore di stringa che specifica il nome della famiglia dell'utente. Ad esempio, è possibile specificare Blue
.Richiamare un metodo che appartiene all'oggetto UserImpl
per impostare altri valori. Ad esempio, è possibile impostare il valore delle impostazioni internazionali richiamando il metodo UserImpl
dell'oggetto setLocale
.
Aggiungete l'utente a AEM Forms.
Richiamare il metodo DirectoryManagerServiceClient
dell'oggetto createLocalUser
e trasmettere i seguenti valori:
UserImpl
che rappresenta il nuovo utenteIl metodo createLocalUser
restituisce un valore di stringa che specifica il valore dell'identificatore utente locale.
Verificate che l'utente sia stato aggiunto.
PrincipalSearchFilter
utilizzando il relativo costruttore.setUserId
dell'oggetto PrincipalSearchFilter
. Passa un valore di stringa che rappresenta il valore dell'identificatore utente.DirectoryManagerServiceClient
dell'oggetto findPrincipals
e passare l'oggetto PrincipalSearchFilter
. Questo metodo restituisce un'istanza java.util.List
, in cui ogni elemento è un oggetto User
. Iterate l'istanza java.util.List
per individuare l'utente.Consulta anche
Avvio rapido (modalità SOAP): Aggiunta di utenti tramite l'API Java
Inclusione file libreria Java AEM Forms
Impostazione delle proprietà di connessione
Aggiungete utenti utilizzando l'API del servizio Directory Manager (servizio Web):
Includere i file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicuratevi di utilizzare la seguente definizione WSDL per il riferimento al servizio: http://localhost:8080/soap/services/DirectoryManagerService?WSDL&lc_version=9.0.1
.
Sostituire localhost
con l'indirizzo IP del server che ospita AEM Forms.
Creare un client DirectoryManagerService.
Creare un oggetto DirectoryManagerServiceClient
utilizzando il relativo costruttore predefinito.
Creare un oggetto DirectoryManagerServiceClient.Endpoint.Address
utilizzando il costruttore System.ServiceModel.EndpointAddress
. Passate un valore di stringa che specifica il WSDL al servizio AEM Forms (ad esempio, http://localhost:8080/soap/services/DirectoryManagerService?blob=mtom
). Non è necessario utilizzare l'attributo lc_version
. Questo attributo viene utilizzato quando create un riferimento a un servizio. Assicurarsi di specificare ?blob=mtom
.
Creare un oggetto System.ServiceModel.BasicHttpBinding
ottenendo il valore del campo DirectoryManagerServiceClient.Endpoint.Binding
. Inserite il valore restituito in BasicHttpBinding
.
Impostare il campo System.ServiceModel.BasicHttpBinding
dell'oggetto MessageEncoding
su WSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM.
Abilitate l'autenticazione HTTP di base eseguendo le seguenti operazioni:
DirectoryManagerServiceClient.ClientCredentials.UserName.UserName
.DirectoryManagerServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
al campo BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
al campo BasicHttpBindingSecurity.Security.Mode
.Definite le informazioni utente.
UserImpl
utilizzando il relativo costruttore.UserImpl
dell'oggetto domainName
.UserImpl
dell'oggetto principalType
. Ad esempio, è possibile specificare USER
.UserImpl
dell'oggetto userid
.UserImpl
dell'oggetto canonicalName
.UserImpl
dell'oggetto givenName
.UserImpl
dell'oggetto familyName
.Aggiungete l'utente a AEM Forms.
Richiamare il metodo DirectoryManagerServiceClient
dell'oggetto createLocalUser
e trasmettere i seguenti valori:
UserImpl
che rappresenta il nuovo utenteIl metodo createLocalUser
restituisce un valore di stringa che specifica il valore dell'identificatore utente locale.
Verificate che l'utente sia stato aggiunto.
PrincipalSearchFilter
utilizzando il relativo costruttore.PrincipalSearchFilter
dell'oggetto userId
.DirectoryManagerServiceClient
dell'oggetto findPrincipals
e passare l'oggetto PrincipalSearchFilter
. Questo metodo restituisce un oggetto raccolta MyArrayOfUser
, in cui ogni elemento è un oggetto User
. Iterate la raccolta MyArrayOfUser
per individuare l'utente.Consulta anche
Chiamata AEM Forms tramite MTOM
Chiamata AEM Forms tramite SwaRef
È possibile utilizzare l'API del servizio Directory Manager (Java e il servizio Web) per eliminare programmaticamente gli utenti da AEM Forms. Dopo l'eliminazione di un utente, l'utente non può più essere utilizzato per eseguire un'operazione di servizio che richiede un utente. Ad esempio, non potete assegnare un’attività a un utente eliminato.
Per eliminare un utente, effettuate le seguenti operazioni:
Includi file di progetto
Includete i file necessari nel progetto di sviluppo. Se create un'applicazione client utilizzando Java, includete i file JAR necessari. Se utilizzate i servizi Web, includete i file proxy.
Creare un client DirectoryManagerService
Prima di eseguire un'operazione API di Directory Manager Service a livello di programmazione, creare un client del servizio Directory Manager.
Specificare l'utente da eliminare
Potete specificare un utente da eliminare utilizzando il valore dell'identificatore dell'utente.
Eliminare l’utente da AEM Forms
Per eliminare un utente, richiamare il metodo DirectoryManagerServiceClient
dell'oggetto deleteLocalUser
.
Consulta anche
Eliminare gli utenti tramite l'API Java
Eliminare gli utenti tramite l'API del servizio Web
Inclusione file libreria Java AEM Forms
Impostazione delle proprietà di connessione
Eliminare gli utenti utilizzando l'API del servizio Directory Manager (Java):
Includere i file di progetto.
Includete file JAR client, ad esempio adobe-usermanager-client.jar, nel percorso di classe del progetto Java.
Creare un client DirectoryManagerService.
Creare un oggetto DirectoryManagerServiceClient
utilizzando il relativo costruttore e passando un oggetto ServiceClientFactory
che contiene proprietà di connessione.
Specificate l’utente da eliminare.
PrincipalSearchFilter
utilizzando il relativo costruttore.setUserId
dell'oggetto PrincipalSearchFilter
. Passa un valore di stringa che rappresenta il valore dell'identificatore utente.DirectoryManagerServiceClient
dell'oggetto findPrincipals
e passare l'oggetto PrincipalSearchFilter
. Questo metodo restituisce un'istanza java.util.List
, in cui ogni elemento è un oggetto User
. Iterate l'istanza java.util.List
per individuare l'utente da eliminare.Eliminate l’utente da AEM Forms.
Richiamare il metodo DirectoryManagerServiceClient
dell'oggetto deleteLocalUser
e passare il valore del campo User
dell'oggetto oid
. Richiamare il metodo User
dell'oggetto getOid
. Utilizzare l'oggetto User
recuperato dall'istanza java.util.List
.
Consulta anche
Avvio rapido (modalità EJB): Eliminazione di utenti tramite l'API Java
Avvio rapido (modalità SOAP): Eliminazione di utenti tramite l'API Java
Inclusione file libreria Java AEM Forms
Impostazione delle proprietà di connessione
Eliminare gli utenti utilizzando l'API del servizio Directory Manager (servizio Web):
Includere i file di progetto.
Includete file JAR client, ad esempio adobe-usermanager-client.jar, nel percorso di classe del progetto Java.
Creare un client DirectoryManagerService.
Creare un oggetto DirectoryManagerServiceClient
utilizzando il relativo costruttore predefinito.
Creare un oggetto DirectoryManagerServiceClient.Endpoint.Address
utilizzando il costruttore System.ServiceModel.EndpointAddress
. Passate un valore di stringa che specifica il WSDL al servizio AEM Forms (ad esempio, http://localhost:8080/soap/services/DirectoryManagerService?blob=mtom
). Non è necessario utilizzare l'attributo lc_version
. Questo attributo viene utilizzato quando create un riferimento a un servizio. Assicurarsi di specificare blob=mtom.
Creare un oggetto System.ServiceModel.BasicHttpBinding
ottenendo il valore del campo DirectoryManagerServiceClient.Endpoint.Binding
. Inserite il valore restituito in BasicHttpBinding
.
Impostare il campo System.ServiceModel.BasicHttpBinding
dell'oggetto MessageEncoding
su WSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM.
Abilitate l'autenticazione HTTP di base eseguendo le seguenti operazioni:
DirectoryManagerServiceClient.ClientCredentials.UserName.UserName
.DirectoryManagerServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
al campo BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
al campo BasicHttpBindingSecurity.Security.Mode
.Specificate l’utente da eliminare.
PrincipalSearchFilter
utilizzando il relativo costruttore.PrincipalSearchFilter
dell'oggetto userId
.DirectoryManagerServiceClient
dell'oggetto findPrincipals
e passare l'oggetto PrincipalSearchFilter
. Questo metodo restituisce un oggetto raccolta MyArrayOfUser
, in cui ogni elemento è un oggetto User
. Iterate la raccolta MyArrayOfUser
per individuare l'utente. L'oggetto User
recuperato dall'oggetto dell'insieme MyArrayOfUser
viene utilizzato per eliminare l'utente.Eliminate l’utente da AEM Forms.
Eliminare l'utente passando il valore del campo User
dell'oggetto oid
al metodo DirectoryManagerServiceClient
dell'oggetto deleteLocalUser
.
Consulta anche
Chiamata AEM Forms tramite MTOM
Chiamata AEM Forms tramite SwaRef
È possibile utilizzare l'API del servizio Directory Manager (Java e il servizio Web) per creare gruppi AEM Forms a livello di programmazione. Dopo aver creato un gruppo, potete utilizzarlo per eseguire un'operazione di servizio che richiede un gruppo. Ad esempio, potete assegnare un utente al nuovo gruppo. (Vedere Gestione di utenti e gruppi.)
Per creare un gruppo, effettuate le seguenti operazioni:
Includi file di progetto
Includete i file necessari nel progetto di sviluppo. Se create un'applicazione client utilizzando Java, includete i file JAR necessari.
I seguenti file JAR devono essere aggiunti al percorso di classe del progetto:
Per informazioni sulla posizione di questi file JAR, vedere Inclusione file libreria Java AEM Forms.
Creare un client DirectoryManagerService
Prima di eseguire un'operazione del servizio Directory Manager in modo programmatico, creare un client API Directory Manager Service.
Determinare se il gruppo esiste
Quando create un gruppo, accertatevi che il gruppo non esista nello stesso dominio. In altre parole, due gruppi non possono avere lo stesso nome all'interno dello stesso dominio. Per eseguire questa operazione, eseguire una ricerca e filtrare i risultati della ricerca in base a due valori. Impostate il tipo di entità su com.adobe.idp.um.api.infomodel.Principal.PRINCIPALTYPE_GROUP
per garantire che vengano restituiti solo i gruppi. Inoltre, specificate il nome di dominio.
Creare il gruppo
Dopo aver stabilito che il gruppo non esiste nel dominio, create il gruppo e specificate i seguenti attributi:
Eseguire un'azione con il gruppo
Dopo aver creato un gruppo, potete eseguire un’azione utilizzando il gruppo. Ad esempio, potete aggiungere un utente al gruppo. Per aggiungere un utente a un gruppo, recuperate il valore dell’identificatore univoco sia dell’utente che del gruppo. Passa questi valori al metodo addPrincipalToLocalGroup
.
Consulta anche
Creazione di gruppi tramite l'API Java
Inclusione file libreria Java AEM Forms
Impostazione delle proprietà di connessione
Create un gruppo utilizzando l'API del servizio Directory Manager (Java):
Includere i file di progetto.
Includete file JAR client, ad esempio adobe-usermanager-client.jar, nel percorso di classe del progetto Java.
Creare un client DirectoryManagerService.
Creare un oggetto DirectoryManagerServiceClient
utilizzando il relativo costruttore e passando un oggetto ServiceClientFactory
che contiene proprietà di connessione.
Determinate se il gruppo esiste.
PrincipalSearchFilter
utilizzando il relativo costruttore.PrincipalSearchFilter
dell'oggetto setPrincipalType
. Passare il valore com.adobe.idp.um.api.infomodel.Principal.PRINCIPALTYPE_GROUP
.setSpecificDomainName
dell'oggetto PrincipalSearchFilter
. Passa un valore di stringa che specifica il nome del dominio.DirectoryManagerServiceClient
dell'oggetto findPrincipals
(un'entità può essere un gruppo). Passa l'oggetto PrincipalSearchFilter
che specifica il tipo di entità e il nome di dominio. Questo metodo restituisce un'istanza java.util.List
in cui ogni elemento è un'istanza Group
. Ogni istanza di gruppo è conforme al filtro specificato utilizzando l'oggetto PrincipalSearchFilter
.java.util.List
. Per ciascun elemento, recuperate il nome del gruppo. Verificate che il nome del gruppo non corrisponda al nuovo nome del gruppo.Create il gruppo.
setCommonName
dell'oggetto Group
e passare un valore di stringa che specifica il nome del gruppo.Group
dell'oggetto setDescription
e passare un valore di stringa che specifica la descrizione del gruppo.Group
dell'oggetto setDomainName
e passare un valore di stringa che specifica il nome del dominio.DirectoryManagerServiceClient
dell'oggetto createLocalGroup
e passare l'istanza Group
.Il metodo createLocalUser
restituisce un valore di stringa che specifica il valore dell'identificatore utente locale.
Eseguire un'azione con il gruppo.
PrincipalSearchFilter
utilizzando il relativo costruttore.setUserId
dell'oggetto PrincipalSearchFilter
. Passa un valore di stringa che rappresenta il valore dell'identificatore utente.DirectoryManagerServiceClient
dell'oggetto findPrincipals
e passare l'oggetto PrincipalSearchFilter
. Questo metodo restituisce un'istanza java.util.List
, in cui ogni elemento è un oggetto User
. Iterate l'istanza java.util.List
per individuare l'utente.DirectoryManagerServiceClient
dell'oggetto addPrincipalToLocalGroup
. Passare il valore restituito dal metodo User
dell'oggetto getOid
. Passare il valore restituito dal metodo Group
degli oggetti getOid
(utilizzare l'istanza Group
che rappresenta il nuovo gruppo).Consulta anche
Inclusione file libreria Java AEM Forms
Impostazione delle proprietà di connessione
Questo argomento descrive come utilizzare (Java) per assegnare, rimuovere ed eseguire query a livello di programmazione a domini, utenti e gruppi.
Quando configurate un dominio, dovete impostare l'identificatore univoco per gruppi e utenti. L’attributo selezionato non deve essere univoco nell’ambiente LDAP, ma deve anche essere immutabile e non deve essere modificato all’interno della directory. Questo attributo deve anche essere di tipo dati stringa semplice (l'unica eccezione attualmente consentita per Active Directory 2000/2003 è "objectsid"
, che è un valore binario). L'attributo Novell eDirectory "GUID"
, ad esempio, non è un tipo di dati stringa semplice e pertanto non funziona.
"objectsid"
."nsuniqueid"
.La creazione di più utenti e gruppi locali mentre è in corso la sincronizzazione di una directory LDAP non è supportata. Il tentativo di eseguire questo processo potrebbe causare errori.
Per gestire utenti e gruppi, effettuate le seguenti operazioni:
Includi file di progetto
Includete i file necessari nel progetto di sviluppo. Se state creando un'applicazione client utilizzando Java, includete i file JAR necessari. Se utilizzate servizi Web, accertatevi di includere i file proxy.
Creare un client DirectoryManagerService
Prima di eseguire un'operazione del servizio Directory Manager in modo programmatico, è necessario creare un client del servizio Directory Manager. Con l'API Java questo si ottiene creando un oggetto DirectoryManagerServiceClient
. Con l'API del servizio Web ciò viene ottenuto creando un oggetto DirectoryManagerServiceService
.
Richiama le operazioni utente o gruppo appropriate
Dopo aver creato il client del servizio, potete richiamare le operazioni di gestione utente o gruppo. Il client del servizio consente di assegnare, rimuovere ed eseguire query su domini, utenti e gruppi. È possibile aggiungere un'entità directory o locale a un gruppo locale, ma non è possibile aggiungere un'entità locale a un gruppo di directory.
Consulta anche
Gestione di utenti e gruppi tramite l'API Java
Gestione di utenti e gruppi tramite l'API del servizio Web
Inclusione file libreria Java AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API di User Manager
Per gestire gli utenti, i gruppi e i domini a livello di programmazione utilizzando (Java), effettua le seguenti operazioni:
Includere i file di progetto.
Includete file JAR client, ad esempio adobe-usermanager-client.jar, nel percorso di classe del progetto Java. Per informazioni sulla posizione di questi file, vedere Inclusione file libreria Java AEM Forms.
Creare un client DirectoryManagerService.
Creare un oggetto DirectoryManagerServiceClient
utilizzando il relativo costruttore e passando un oggetto ServiceClientFactory
che contiene proprietà di connessione. Per informazioni, vedere Impostazione delle proprietà di connessione .
Richiama le operazioni utente o gruppo appropriate.
Per trovare un utente o un gruppo, invocate uno dei metodi dell'oggetto DirectoryManagerServiceClient
per trovare le entità (poiché un'entità può essere un utente o un gruppo). Nell'esempio seguente, il metodo findPrincipals
viene chiamato utilizzando un filtro di ricerca (un oggetto PrincipalSearchFilter
).
Poiché in questo caso il valore restituito è un java.util.List
contenente oggetti Principal
, è possibile iterare il risultato e proiettare gli oggetti Principal
su oggetti User
o Group
.
Utilizzando l'oggetto User
o Group
risultante (entrambi ereditati dall'interfaccia Principal
), recuperare le informazioni necessarie nei flussi di lavoro. Ad esempio, il nome di dominio e i valori del nome canonico, in combinazione, identificano in modo univoco un'entità. Tali metodi vengono recuperati richiamando, rispettivamente, i metodi Principal
dell'oggetto getDomainName
e getCanonicalName
.
Per eliminare un utente locale, richiamare il metodo deleteLocalUser
dell'oggetto DirectoryManagerServiceClient
e passare l'identificatore dell'utente.
Per eliminare un gruppo locale, richiamate il metodo deleteLocalGroup
dell'oggetto DirectoryManagerServiceClient
e passate l'identificatore del gruppo.
Consulta anche
Inclusione file libreria Java AEM Forms
Impostazione delle proprietà di connessione
Per gestire in modo programmatico utenti, gruppi e domini tramite l'API del servizio Directory Manager (servizio Web), eseguire le operazioni seguenti:
Includere i file di progetto.
Creare un client DirectoryManagerService.
Creare un oggetto DirectoryManagerServiceService
utilizzando il costruttore della classe proxy.
Richiama le operazioni utente o gruppo appropriate.
Per trovare un utente o un gruppo, invocate uno dei metodi dell'oggetto DirectoryManagerServiceService
per trovare le entità (poiché un'entità può essere un utente o un gruppo). Nell'esempio seguente, il metodo findPrincipalsWithFilter
viene chiamato utilizzando un filtro di ricerca (un oggetto PrincipalSearchFilter
). Quando si utilizza un oggetto PrincipalSearchFilter
, le entità locali vengono restituite solo se la proprietà isLocal
è impostata su true
. Questo comportamento è diverso da quello che si verificherebbe con l'API Java.
Se il numero massimo di risultati non viene specificato nel filtro di ricerca (tramite il campo PrincipalSearchFilter.resultsMax
), verrà restituito un massimo di 1000 risultati. Questo comportamento è diverso da quello che si verifica utilizzando l'API Java, in cui 10 risultati è il massimo predefinito. Inoltre, i metodi di ricerca come findGroupMembers
non produrranno alcun risultato a meno che il numero massimo di risultati non sia specificato nel filtro di ricerca (ad esempio, attraverso il campo GroupMembershipSearchFilter.resultsMax
). Ciò vale per tutti i filtri di ricerca che ereditano dalla classe GenericSearchFilter
. Per ulteriori informazioni, vedere Guida di riferimento delle API di AEM Forms.
Poiché in questo caso il valore restituito è un object[]
contenente oggetti Principal
, ripetere il risultato e proiettare gli oggetti Principal
in oggetti User
o Group
.
Utilizzando l'oggetto User
o Group
risultante (entrambi ereditati dall'interfaccia Principal
), recuperare le informazioni necessarie nei flussi di lavoro. Ad esempio, il nome di dominio e i valori del nome canonico, in combinazione, identificano in modo univoco un'entità. Per recuperarli, è necessario richiamare i campi Principal
domainName
e canonicalName
dell'oggetto, rispettivamente.
Per eliminare un utente locale, richiamare il metodo deleteLocalUser
dell'oggetto DirectoryManagerServiceService
e passare l'identificatore dell'utente.
Per eliminare un gruppo locale, richiamate il metodo deleteLocalGroup
dell'oggetto DirectoryManagerServiceService
e passate l'identificatore del gruppo.
Consulta anche
Chiamata AEM Forms tramite MTOM
In questo argomento viene descritto come utilizzare l’API di Gestione autorizzazioni (Java) per assegnare, rimuovere e determinare in modo programmatico ruoli e autorizzazioni.
In AEM Forms, un ruolo è un gruppo di autorizzazioni per accedere a una o più risorse a livello di sistema. Queste autorizzazioni vengono create tramite Gestione utente e vengono applicate dai componenti del servizio. Ad esempio, un amministratore potrebbe assegnare il ruolo di autore del set di criteri a un gruppo di utenti. Questo Rights Management consente agli utenti di quel gruppo con tale ruolo di creare set di criteri tramite la console di amministrazione.
Esistono due tipi di ruoli: ruoli predefiniti e ruoli personalizzati. I ruoli predefiniti (ruoli di sistema) sono già residenti in AEM Forms. Si presume che i ruoli predefiniti non possano essere eliminati o modificati dall'amministratore e che pertanto siano immutabili. I ruoli personalizzati creati dall'amministratore, che possono successivamente modificarli o eliminarli, sono pertanto modificabili.
I ruoli semplificano la gestione delle autorizzazioni. Quando un ruolo viene assegnato a un'entità, un set di autorizzazioni viene automaticamente assegnato a tale entità e tutte le decisioni relative all'accesso specifiche per l'entità si basano su tale insieme complessivo di autorizzazioni assegnate.
Per gestire ruoli e autorizzazioni, eseguire le operazioni seguenti:
Includi file di progetto
Includete i file necessari nel progetto di sviluppo. Se state creando un'applicazione client utilizzando Java, includete i file JAR necessari. Se utilizzate servizi Web, accertatevi di includere i file proxy.
Creare un client AuthorizationManagerService
Prima di poter eseguire un'operazione di User Management AuthorizationManagerService a livello di programmazione, è necessario creare un client AuthorizationManagerService. Con l'API Java questo si ottiene creando un oggetto AuthorizationManagerServiceClient
.
Richiama le operazioni di ruolo o autorizzazione appropriate
Dopo aver creato il client del servizio, potete richiamare le operazioni di ruolo o autorizzazione. Il client del servizio consente di assegnare, rimuovere e determinare ruoli e autorizzazioni.
Consulta anche
Gestione di ruoli e autorizzazioni tramite l'API Java
Gestione di ruoli e autorizzazioni tramite l'API del servizio Web
Inclusione file libreria Java AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API di User Manager
Per gestire ruoli e autorizzazioni utilizzando l’API di Gestione autorizzazioni (Java), eseguite le seguenti operazioni:
Includere i file di progetto.
Includete file JAR client, ad esempio adobe-usermanager-client.jar, nel percorso di classe del progetto Java.
Creare un client AuthorizationManagerService.
Creare un oggetto AuthorizationManagerServiceClient
utilizzando il relativo costruttore e passando un oggetto ServiceClientFactory
che contiene proprietà di connessione.
Richiama le operazioni di ruolo o autorizzazione appropriate.
Per assegnare un ruolo a un'entità, richiamare il metodo assignRole
dell'oggetto AuthorizationManagerServiceClient
e passare i seguenti valori:
java.lang.String
che contiene l'identificatore del ruolojava.lang.String
contenenti gli identificatori principali.Per rimuovere un ruolo da un'entità, richiamare il metodo unassignRole
dell'oggetto AuthorizationManagerServiceClient
e passare i seguenti valori:
java.lang.String
che contiene l'identificatore del ruolo.java.lang.String
contenenti gli identificatori principali.Consulta anche
Avvio rapido (modalità SOAP): Gestione di ruoli e autorizzazioni tramite l'API Java
Inclusione file libreria Java AEM Forms
Impostazione delle proprietà di connessione
Gestire ruoli e autorizzazioni utilizzando l’API del servizio Gestione autorizzazioni (servizio Web):
Includere i file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurarsi di utilizzare la seguente definizione WSDL: http://localhost:8080/soap/services/AuthorizationManagerService?WSDL&lc_version=9.0.1
.
Sostituire localhost
con l'indirizzo IP del server che ospita AEM Forms.
Creare un client AuthorizationManagerService.
Creare un oggetto AuthorizationManagerServiceClient
utilizzando il relativo costruttore predefinito.
Creare un oggetto AuthorizationManagerServiceClient.Endpoint.Address
utilizzando il costruttore System.ServiceModel.EndpointAddress
. Passate un valore di stringa che specifica il WSDL al servizio AEM Forms (ad esempio, http://localhost:8080/soap/services/AuthorizationManagerService?blob=mtom
). Non è necessario utilizzare l'attributo lc_version
. Questo attributo viene utilizzato quando create un riferimento a un servizio.
Creare un oggetto System.ServiceModel.BasicHttpBinding
ottenendo il valore del campo AuthorizationManagerServiceClient.Endpoint.Binding
. Inserite il valore restituito in BasicHttpBinding
.
Impostare il campo System.ServiceModel.BasicHttpBinding
dell'oggetto MessageEncoding
su WSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM.
Abilitate l'autenticazione HTTP di base eseguendo le seguenti operazioni:
AuthorizationManagerServiceClient.ClientCredentials.UserName.UserName
.AuthorizationManagerServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
al campo BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
al campo BasicHttpBindingSecurity.Security.Mode
.Richiama le operazioni di ruolo o autorizzazione appropriate.
Per assegnare un ruolo a un'entità, richiamare il metodo assignRole
dell'oggetto AuthorizationManagerServiceClient
e passare i seguenti valori:
string
che contiene l'identificatore del ruoloMyArrayOf_xsd_string
che contiene gli identificatori principali.Per rimuovere un ruolo da un'entità, richiamare il metodo unassignRole
dell'oggetto AuthorizationManagerServiceService
e passare i seguenti valori:
string
che contiene l'identificatore del ruolo.string
contenenti gli identificatori principali.Consulta anche
Chiamata AEM Forms tramite MTOM
Questo argomento descrive come utilizzare l'API Authentication Manager Service (Java) per abilitare le applicazioni client ad autenticare gli utenti a livello di programmazione.
L'autenticazione dell'utente può essere necessaria per interagire con un database aziendale o altri repository aziendali in cui sono memorizzati i dati protetti.
Considerate, ad esempio, uno scenario in cui un utente immette un nome utente e una password in una pagina Web e invia i valori a un server applicazione J2EE in cui è installato Forms. Un'applicazione personalizzata Forms può autenticare l'utente con il servizio Authentication Manager.
Se l'autenticazione ha esito positivo, l'applicazione accede a un database enterprise protetto. In caso contrario, all'utente viene inviato un messaggio in cui si attesta che l'utente non è un utente autorizzato.
Il diagramma seguente mostra il flusso logico dell'applicazione.
La tabella seguente descrive i passaggi descritti in questo diagramma
Incremento |
Descrizione |
---|---|
1 |
L'utente accede a un sito Web e specifica un nome utente e una password. Queste informazioni vengono inviate a un server applicazione J2EE che ospita AEM Forms. |
2 |
Le credenziali utente sono autenticate con il servizio Authentication Manager. Se le credenziali utente sono valide, il flusso di lavoro procede al passaggio 3. In caso contrario, all'utente viene inviato un messaggio in cui si attesta che l'utente non è un utente autorizzato. |
3 |
Le informazioni utente e una struttura del modulo vengono recuperate da un database enterprise protetto. |
4 |
Le informazioni utente vengono unite a una struttura del modulo e il modulo viene rappresentato all'utente. |
Per autenticare un utente a livello di programmazione, eseguire le operazioni seguenti:
Includi file di progetto
Includete i file necessari nel progetto di sviluppo. Se state creando un'applicazione client utilizzando Java, includete i file JAR necessari. Se utilizzate servizi Web, accertatevi di includere i file proxy.
Creare un client AuthenticationManagerService
Prima di poter autenticare un utente a livello di programmazione, è necessario creare un client AuthenticationManagerService. Quando utilizzate l'API Java, create un oggetto AuthenticationManagerServiceClient
.
Richiamo dell'operazione di autenticazione
Dopo aver creato il client del servizio, potete richiamare l'operazione di autenticazione. Questa operazione richiede informazioni sull’utente, ad esempio il nome e la password dell’utente. Se l'utente non esegue l'autenticazione, viene generata un'eccezione.
Recuperare il contesto di autenticazione
Dopo aver autenticato l'utente, puoi creare un contesto basato sull'utente autenticato. Potete quindi utilizzare il contenuto per richiamare un altro servizi AEM Forms. Ad esempio, è possibile utilizzare il contesto per creare un documento EncryptionServiceClient
e cifrare un documento PDF con una password. Verificare che l'utente autenticato abbia il ruolo Services User
richiesto per richiamare un servizio AEM Forms .
Consulta anche
Inclusione file libreria Java AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API di User Manager
Cifratura di documenti PDF con una password
Eseguire l'autenticazione di un utente mediante l'API Authentication Manager Service (Java):
Includere i file di progetto.
Includete file JAR client, ad esempio adobe-usermanager-client.jar, nel percorso di classe del progetto Java.
Creare un client AuthenticationManagerServices.
Creare un oggetto AuthenticationManagerServiceClient
utilizzando il relativo costruttore e passando un oggetto ServiceClientFactory
che contiene proprietà di connessione.
Richiama l'operazione di autenticazione.
Richiamare il metodo AuthenticationManagerServiceClient
dell'oggetto authenticate
e trasmettere i seguenti valori:
java.lang.String
che contiene il nome dell'utente.byte[]
) contenente la password dell'utente. È possibile ottenere l'oggetto byte[]
richiamando il metodo java.lang.String
dell'oggetto getBytes
.Il metodo authenticate restituisce un oggetto AuthResult
che contiene informazioni sull'utente autenticato.
Recuperare il contesto di autenticazione.
Richiamare il metodo ServiceClientFactory
dell'oggetto getContext
, che restituirà un oggetto Context
.
Quindi, richiamare il metodo Context
dell'oggetto initPrincipal
e passare il AuthResult
.
Autenticazione di un utente tramite l'API Authentication Manager Service (servizio Web):
Includere i file di progetto.
Create un client AuthenticationManagerService.
Creare un oggetto AuthenticationManagerServiceService
utilizzando il costruttore della classe proxy.
Richiama l'operazione di autenticazione.
Richiamare il metodo AuthenticationManagerServiceClient
dell'oggetto authenticate
e trasmettere i seguenti valori:
string
che contiene il nome dell'utentebyte[]
) contenente la password dell'utente. È possibile ottenere l'oggetto byte[]
convertendo un oggetto string
contenente la password in un array byte[]
utilizzando la logica illustrata nell'esempio seguente.AuthResult
, che può essere utilizzato per recuperare informazioni sull'utente. Nell'esempio seguente, le informazioni dell'utente vengono recuperate prima ottenendo il campo authenticatedUser
dell'oggetto User
e successivamente ottenendo i campi canonicalName
e domainName
dell'oggetto risultante.AuthResult
Consulta anche
Chiamata AEM Forms tramite MTOM
Chiamata AEM Forms tramite SwaRef
Potete sincronizzare gli utenti a livello di programmazione utilizzando l'API di gestione utente. Quando sincronizzate gli utenti, state aggiornando AEM Forms con i dati utente presenti nell'archivio degli utenti. Ad esempio, si supponga di aggiungere nuovi utenti al repository degli utenti. Dopo aver eseguito un'operazione di sincronizzazione, i nuovi utenti diventano utenti AEM moduli. Inoltre, gli utenti che non si trovano più nel repository degli utenti vengono rimossi da AEM Forms.
Il diagramma seguente mostra sincronizzazione di AEM Forms con un repository utente.
La tabella seguente descrive i passaggi descritti in questo diagramma
Incremento |
Descrizione |
---|---|
1 |
Un'applicazione client richiede che AEM Forms esegua un'operazione di sincronizzazione. |
2 |
AEM Forms esegue un'operazione di sincronizzazione. |
3 |
Le informazioni utente vengono aggiornate. |
4 |
Un utente può visualizzare le informazioni aggiornate sull’utente. |
Per sincronizzare gli utenti a livello di programmazione, effettuate le seguenti operazioni:
Includi file di progetto
Includete i file necessari nel progetto di sviluppo. Se state creando un'applicazione client utilizzando Java, includete i file JAR necessari. Se utilizzate servizi Web, accertatevi di includere i file proxy.
Creare un client UserManagerUtilServiceClient
Prima di poter sincronizzare gli utenti a livello di programmazione, è necessario creare un oggetto UserManagerUtilServiceClient
.
Specificare il dominio enterprise
Prima di eseguire un'operazione di sincronizzazione utilizzando l'API di gestione utente, specificate il dominio Enterprise a cui appartengono gli utenti. Puoi specificare uno o più domini enterprise. Prima di poter eseguire un'operazione di sincronizzazione a livello di programmazione, è necessario impostare un dominio Enterprise utilizzando la console di amministrazione. (Vedere guida di amministrazione.)
Richiamo dell’operazione di sincronizzazione
Dopo aver specificato uno o più domini Enterprise, potete eseguire l'operazione di sincronizzazione. Il tempo necessario per eseguire questa operazione dipende dal numero di record utente presenti nell'archivio utenti.
Determinare se l’operazione di sincronizzazione è completa
Dopo aver eseguito un'operazione di sincronizzazione a livello di programmazione, è possibile determinare se l'operazione è stata completata.
Consulta anche
Inclusione file libreria Java AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API di User Manager
Cifratura di documenti PDF con una password
Sincronizzate gli utenti mediante l’API di gestione utente (Java):
Includere i file di progetto.
Includete file JAR client, come adobe-usermanager-client.jar e adobe-usermanager-util-client.jar, nel percorso di classe del progetto Java.
Creare un client UserManagerUtilServiceClient.
Creare un oggetto UserManagerUtilServiceClient
utilizzando il relativo costruttore e passando un oggetto ServiceClientFactory
che contiene proprietà di connessione.
Specificate il dominio enterprise.
UserManagerUtilServiceClient
dell'oggetto scheduleSynchronization
per avviare l'operazione di sincronizzazione dell'utente.java.util.Set
utilizzando un costruttore HashSet
. Assicurarsi di specificare String
come tipo di dati. Questa istanza Java.util.Set
memorizza i nomi di dominio a cui si applica l'operazione di sincronizzazione.java.util.Set
e passare il nome di dominio.Richiama l’operazione di sincronizzazione.
Richiamare il metodo ServiceClientFactory
dell'oggetto getContext
, che restituirà un oggetto Context
.
Quindi, richiamare il metodo Context
dell'oggetto initPrincipal
e passare il AuthResult
.
Consulta anche
Sincronizzazione programmatica degli utenti