Definizione del modello ThingWorx in Composer > Protezione > Servizi di elenco > Gestione di utenti in Active Directory
Gestione di utenti in Active Directory
È possibile gestire utenti e gruppi di utenti in ThingWorx, se gli utenti sono già presenti nel servizio di elenco di Microsoft Active Directory (AD). ThingWorx consente di mappare i gruppi di utenti di Active Directory ai gruppi di utenti di ThingWorx. Le opzioni di provisioning utenti consentono di creare, modificare o eliminare utenti. In ThingWorx i permessi vengono gestiti per ciascun gruppo di utenti.
* 
La funzionalità di Active Directory non è attivata per default in ThingWorx. Per poter utilizzare Active Directory per eseguire l'autenticazione in ThingWorx, un utente amministratore di ThingWorx deve attivarlo.
In questo argomento sono contenute le informazioni riportate di seguito.
Introduzione
Per iniziare, creare un nuovo servizio di elenco in ThingWorx importandovi un file XML con entità in ThingWorx. Una volta importato il file, è possibile configurare il servizio di elenco in ThingWorx. Attenersi alle regole descritte di seguito quando si utilizza il file XML.
Il file XML deve contenere uno o più servizi di elenco che utilizzano la classe Java com.thingworx.security.directoryservices.ActiveDirectoryDirectoryService come attributo className di un elemento DirectoryService.
Per ogni elemento DirectoryService è necessario fornire un valore univoco per name.
Il valore name deve essere univoco anche nell'ambito di tutti i servizi di elenco esistenti nella fase di esecuzione di ThingWorx.
L'attributo priority deve avere un numero di ordine di priorità univoco per l'autenticazione. È inoltre necessario aggiungere un ordine di priorità univoco a ciascun servizio di elenco nel file e nella fase di esecuzione di ThingWorx. Tale ordine corrisponde a quello con cui ThingWorx deve consultare il servizio di elenco durante la convalida delle credenziali.
* 
I servizi di elenco rispettano un ordine di priorità collegato per l'autenticazione. Se un servizio di elenco con l'impostazione più bassa di priorità non riesce (1 nell'esempio riportato di seguito) a convalidare un'autenticazione utente, la catena prova a convalidare l'utente in base al servizio di elenco con la priorità immediatamente superiore. Vedere gli esempi riportati di seguito.
Esempio XML: servizio di elenco singolo
L'esempio riportato di seguito include il file xml di configurazione minima richiesto per importare un nuovo servizio di elenco in ThingWorx.
* 
Gli esempi di seguito riguardano un utente amministratore.

<Entities>
<DirectoryServices>
<DirectoryService
className="com.thingworx.security.directoryservices.ActiveDirectoryDirectoryService"
description="Active Directory Directory Services"
documentationContent="" enabled="false" homeMashup=""
lastModifiedDate="" name="ADDS1" priority="1" projectName=""
tags="">
<Owner name="Administrator" type="User" />
<avatar />
<DesignTimePermissions>
<Create />
<Read />
<Update />
<Delete />
<Metadata />
</DesignTimePermissions>
<RunTimePermissions />
<VisibilityPermissions>
<Visibility />
</VisibilityPermissions>
<ConfigurationTables/>
<ConfigurationChanges />
</DirectoryService>
</DirectoryServices>
</Entities>

Esempio XML: due servizi di elenco
Nell'esempio riportato di seguito sono presenti due servizi di elenco. L'attributo di priority è definito in ogni DirectoryService.
<Entities>
<DirectoryServices>
<DirectoryService
className="com.thingworx.security.directoryservices.ActiveDirectoryDirectoryService"
description="Active Directory Directory Services"
documentationContent="" enabled="false" homeMashup=""
lastModifiedDate="" name="ADDS1" priority="1" projectName=""
tags="">
<Owner name="Administrator" type="User" />
<avatar />
<DesignTimePermissions>
<Create />
<Read />
<Update />
<Delete />
<Metadata />
</DesignTimePermissions>
<RunTimePermissions />
<VisibilityPermissions>
<Visibility />
</VisibilityPermissions>
<ConfigurationTables/>
<ConfigurationChanges />
</DirectoryService>
<DirectoryService
className="com.thingworx.security.directoryservices.ActiveDirectoryDirectoryService"
description="Active Directory Directory Services"
documentationContent="" enabled="false" homeMashup=""
lastModifiedDate="" name="ADDS2" priority="2" projectName=""
tags="">
<Owner name="Administrator" type="User" />
<avatar />
<DesignTimePermissions>
<Create />
<Read />
<Update />
<Delete />
<Metadata />
</DesignTimePermissions>
<RunTimePermissions />
<VisibilityPermissions>
<Visibility />
</VisibilityPermissions>
<ConfigurationTables/>
<ConfigurationChanges />
</DirectoryService>
</DirectoryServices>
</Entities>
Configurazione dei servizi di elenco
Dopo avere importato un file XML per un servizio di elenco di Active Directory, è necessario configurarlo. Per accedere alla pagina di configurazione in ThingWorx Composer, attenersi alla procedura riportata di seguito.
1. Nel pannello di navigazione Sfoglia, espandere PROTEZIONE e selezionare Servizi di elenco.
2. Nella pagina Servizi di elenco fare clic sul nome del servizio di elenco di Active Directory. Viene visualizzata la pagina Informazioni generali del servizio di elenco.
3. Selezionare la casella di controllo Attivato per attivare il servizio di elenco e fare clic Salva.
4. Selezionare Configurazione per visualizzare la pagina di configurazione. Si è pronti per configurare il servizio di elenco.
* 
Le opzioni di configurazione descritte in questa sezione e nelle sezioni che seguono sono visualizzate nella pagina di configurazione dell'entità del servizio di elenco. Per assistenza con i messaggi di errore relativi alla configurazione, vedere Messaggi di errore di configurazione.
La convalida delle credenziali relative agli elementi che un utente immette durante l'accesso a ThingWorx viene eseguita ricercando l'oggetto utente e la password su tale oggetto nell'impostazione della tabella di configurazione User Base Distinguished Name. Per specificare un dominio su un'entità Active Directory sono disponibili due opzioni, che possono essere completamente indipendenti l'una dall'altra. L'opzione Domain Distinguished Name viene utilizzata durante la ricerca di gruppi, pertanto, se si utilizza la funzionalità di mappatura di gruppi, verificare che tutti i gruppi in cui risiedono i relativi utenti rientrino nel valore Domain Distinguished Name specificato. L'opzione User Base Distinguished Name corrisponde alla posizione utilizzata durante la ricerca di un oggetto utente in Active Directory con il nome utente e la password forniti durante l'accesso a ThingWorx.
* 
Quando si configurano più oggetti servizio di elenco, non sovrapporre le basi di ricerca degli utenti all'interno della struttura di Active Directory.
Impostazioni connessione
A partire dalla versione 8.3.5, la sezione Impostazioni connessione della configurazione di Active Directory include l'opzione Accesso utente dinamico. Ecco la pagina aggiornata:
Nella tabella riportata di seguito vengono descritte le Impostazioni connessione per un servizio di elenco. Tutti i campi delle impostazioni di connessione sono obbligatori.
Nome
Descrizione
Nome attributo XML
Valore di default
Esempio di valore
Schema URI
Stringa che specifica il protocollo associato utilizzato nelle comunicazioni nel server di Active Directory.
protocol
LDAP
LDAP
FQDN server o indirizzo IP
Nome/indirizzo del server di destinazione delle interrogazioni della directory.
server
localhost
localhost, domainserver.acme.com, 127.0.0.1
Porta di rete server
Porta del server di destinazione delle interrogazioni della directory.
port
389
389, 369, 10389
Nome distinto dominio
Il nome distinto della directory di livello superiore utilizzato durante la ricerca di gruppi di utenti.
domain
n/d
DC=test, DC=acme, DC=com
Accesso utente dinamico
Determina se l'accesso utente dinamico è attivato. Per informazioni dettagliate, vedere la sezione successiva.
dynamicUserLogin
La casella di controllo è vuota (disattivata).
La casella di controllo è selezionata.
Nome utente/gruppo/ruolo amministratore
Nome dell'utente che ha accesso in lettura come amministratore all'oggetto di dominio specificato. Il valore di questo nome dipende dal valore User Id Attribute specificato nella tabella di configurazione Mappature schemi.
adminPrincipal
n/d
AcmeAdmin
Password amministratore
La password per il nome utente/gruppo/ruolo amministratore specificato nella tabella di configurazione delle impostazioni di connessione.
adminPassword
n/d
AcmePassword
Accesso utente dinamico
* 
Si consiglia agli utenti di autenticarsi in ThingWorx Platform utilizzando sempre lo stesso nome utente se è attivata l'opzione Accesso utente dinamico. In caso contrario, a causa di una limitazione corrente della piattaforma ThingWorx, vengono creati più account ThingWorx Platform per lo stesso utente. Si supponga, ad esempio, che un utente esegua l'accesso utilizzando il proprio displayName, testuser. Nella piattaforma viene creato un account utente testuser. Tuttavia, se lo stesso utente esegue l'accesso utilizzando il proprio nome UPN (in questo esempio testuser@domain.com), nella piattaforma viene creato anche l'utente testuser@domain.com.
Se l'opzione Accesso utente dinamico è attivata, le impostazioni di connessione dei campi Nome utente/gruppo/ruolo amministratore e Administrative Principal Password vengono ignorate. L'utente che accede alla directory ThingWorx Platform viene autenticato in Active Directory mediante il rispettivo nome utente e password. I metodi di autenticazione attualmente supportati in Active Directory consistono nell'utilizzo di displayName, UPN e domain\samAccountName.
Se l'opzione Accesso utente dinamico è disattivata, il workflow per l'accesso di un utente rimane quello utilizzato in ThingWorx Platform 8.3.0 e versioni successive fino alla 8.3.4.
Mappature gruppi
È necessario conoscere le regole di visibilità, permessi e organizzazione di ThingWorx relative a utenti e gruppi per configurare la mappatura come previsto. Se i permessi non vengono assegnati correttamente, gli utenti potrebbero accedere a contenuto al quale altrimenti non riuscirebbero ad accedere.
Se da un lato le mappature dei gruppi non sono necessarie, l'assenza di mappature comporta permessi limitati (solo i permessi di default di cui dispone l'utente) se si esegue il provisioning o l'aggiornamento di un utente.
La sezione Mappature gruppi si trova circa a metà della pagina di configurazione di un servizio di elenco di Active Directory. Per impostare le mappature dei gruppi, attenersi alla procedura descritta di seguito.
1. In ThingWorx Composer accedere al servizio di elenco di Active Directory in Composer (Protezione > Servizi di elenco > Nome servizio di Active Directory).
2. Aprire la pagina di configurazione, scorrere verso il basso fino alla sezione Mappature gruppi, quindi fare clic su Aggiungi, come indicato nella figura seguente:
3. Nel campo Nome gruppo Active Directory della finestra Mappature gruppi digitare il nome di un gruppo Active Directory che si desidera mappare a un gruppo ThingWorx.
4. Nel campo Nome gruppo ThingWorx fare clic sul segno + per visualizzare l'elenco a discesa dei gruppi ThingWorx, illustrato di seguito. Si noti la presenza della sezione Ricerca avanzata, in cui è possibile filtrare in base a entità specifiche e altro ancora. L'elenco a discesa è disponibile a partire dalla versione 8.3.5 di ThingWorx.
* 
Il modulo GroupMappings che segue viene visualizzato quando l'opzione Accesso utente dinamico è disattivata.
5. Nella versione seguente del modulo GroupMappings si noti che il messaggio "Credenziali richieste" viene visualizzato quando l'opzione Accesso utente dinamico è attivata. Per immettere un nome nel campo Nome gruppo Active Directory, fare clic sull'icona del lucchetto verde.
6. Quando viene visualizzata la finestra di dialogo Fornisci credenziali, impostare AdministrativePrincipalName e AdministrativePassword, quindi fare clic su Imposta.
Nella tabella seguente vengono descritte le impostazioni per le mappature dei gruppi:
Mappature gruppi
Nome
Descrizione
Valori validi
Nome gruppo Active Directory
Nome del gruppo di Active Directory associato/mappato al gruppo di ThingWorx per i permessi/la verifica di autorizzazione in fase di esecuzione.
Stringa non vuota contenente un nome di gruppo che corrisponde a un oggetto groupObjectClass in Active Directory nel dominio configurato.
Nome gruppo ThingWorx
Nome del gruppo di ThingWorx che contiene i permessi/le configurazioni di autorizzazione ThingWorx utilizzati in fase di esecuzione. A questo gruppo di ThingWorx vengono aggiunti gli utenti di cui Active Directory esegue il provisioning. Si basa sul gruppo di Active Directory a cui l'utente appartiene e a cui è mappato.
Stringa non vuota contenente un nome gruppo che corrisponde a un'entità gruppo in ThingWorx.
Mappatura gruppi con l'opzione Accesso utente dinamico
Con l'aggiunta dell'opzione Accesso utente dinamico nella versione 8.3.5, i servizi GetDomainGroups e IsValidGroup accettano argomenti che consentono di passare le credenziali dell'utente amministratore di Active Directory, ad esempio dall'interfaccia utente, quando l'opzione Accesso utente dinamico è attivata. Se l'opzione Accesso utente dinamico è disattivata (impostazione di default), le credenziali dell'utente amministratore sono facoltative per i servizi IsValidGroup e GetDomainGroups. Il servizio TestConnection funziona con tutte le credenziali necessarie. Ogni volta che i parametri sono vuoti, i servizi utilizzano le credenziali dell'amministratore.
Convalida di un gruppo per la mappatura gruppi
A partire dalla versione 8.3.5, in ThingWorx Composer è disponibile una casella di testo nella pagina Mappature gruppi in cui è possibile immettere il nome di un gruppo Active Directory. L'opzione per selezionare un gruppo Active Directory da un elenco a discesa è ancora disponibile. La casella di testo supporta l'immissione di un gruppo per nome o per nome distinto completo. Ad esempio, il nome TestGroup è un nome semplice, mentre CN=TestGroup, CN=Users, DC=domain, DC=com è un nome distinto completo.
Anche il servizio IsValidGroup è disponibile dalla versione 8.3.5 per consentire di cercare il nome di un gruppo valido in Active Directory. Questo servizio accetta un solo parametro STRING groupName, che specifica il nome del gruppo che si desidera trovare. Il servizio restituisce un risultato BOOLEAN, che indica se il gruppo esiste in Active Directory.
* 
Il carattere jolly ("*") NON è consentito come parte dell'input per groupName.
Appartenenza a gruppi annidati
A partire dalla versione 8.3.5, l'opzione di configurazione Aggiungi utenti a gruppi antenato mappati è disponibile nella sezione Mappatura schemi della configurazione di Active Directory. L'impostazione BOOLEAN attiva o disattiva l'appartenenza a gruppi annidati.
Se è attivata l'appartenenza a gruppi annidati, si verifica quanto segue:
Active Directory viene interrogato utilizzando una regola di corrispondenza estensibile per recuperare i gruppi a cui appartiene l'utente e anche i gruppi a cui appartengono i gruppi, a qualsiasi profondità di annidamento.
Questi gruppi vengono confrontati con la tabella Mappature gruppi per assegnare l'utente ThingWorx risultante ai gruppi di utenti.
Questa opzione può influire sulle prestazioni, in quanto aumenta il carico su Active Directory e può generare un insieme di risultati di grandi dimensioni.
Se l'appartenenza a gruppi annidati è disattivata, il workflow rimane quello utilizzato in ThingWorx Platform 8.3.0 e versioni successive, fino alla 8.3.4.
Mappature schemi
Affinché l'autenticazione e il recupero o la mappatura di un gruppo funzionino, sono necessari i seguenti campi in questa sezione: Nome attributo ID utente, Nome classe oggetto gruppo, Nome attributo gruppo di appartenenza, Nome attributo gruppo, Nome attributo flag utente, Bit disattivato attributo controllo utente e Bit di blocco attributo controllo utente.
Mappature schemi
Nome
Descrizione
Nome attributo XML
Valore di default
Esempio di valore
Nome attributo ID utente
Nome dell'attributo che include il valore del nome utente utilizzato per verificare la corrispondenza con il nome utente specificato durante l'accesso a ThingWorx.
attributeUserIdName
cn
cn, userPrincipleName
Nome distinto base utente
Il nome distinto della directory di livello superiore utilizzato durante la convalida delle credenziali dell'utente.
userBaseDN
ou=people
DC=test, DC=acme, DC=com
Nome classe oggetto gruppo
Valore dell'attributo objectClass che indica che l'oggetto è un gruppo. Gli oggetti gruppo verranno interrogati e visualizzati per la mappatura dei gruppi Active Directory/ThingWorx nella tabella di configurazione Mappature gruppi.
groupObjectClass
group
group
Filtro LDAP di gruppo per filtrare gruppi di domini
Consente di filtrare un numero elevato di gruppi di dominio.
* 
In presenza di un numero elevato di gruppi, questo parametro deve essere configurato e non deve essere lasciato vuoto. Se si lascia vuoto, si può verificare una riduzione delle prestazioni di recupero di quantità elevate di gruppi.
groupLdapFilter
n/d
(cn=a_testgroup111*)(cn=b_testgroup222*)
Nome attributo gruppo di appartenenza
Nome dell'attributo che indica che un utente o un gruppo è un membro di un altro gruppo. Ogni volta che per un utente in Active Directory è presente la voce memberOf, l'utente viene aggiunto come membro del gruppo di ThingWorx mappato al gruppo di Active Directory denominato nella voce memberOf.
memberOfAttribute
memberOf
memberOf
Nome attributo gruppo
Nome dell'attributo che deve essere utilizzato per recuperare il nome visualizzato del gruppo nell'interfaccia utente di ThingWorx, in modo specifico nelle selezioni della tabella di configurazione Mappature gruppi.
* 
Utilizzare distinguishedName per visualizzare il percorso completo alla posizione del gruppo in Active Directory. Ciò fornisce il contesto del sottodominio a cui appartiene quando un gruppo esiste in più di un dominio.
groupAttribute
cn
cn
Nome attributo flag utente
Per ulteriori informazioni, fare riferimento a https://msdn.microsoft.com/en-us/library/cc223145.aspx
userControlAttribute
userAccountControl
userAccountControl
Bit disattivato attributo controllo utente
Valore decimale/numero intero del flag di bit disattivato nel nome attributo flag utente specificato (ad esempio, il valore userControlAttribute di default). Per ulteriori informazioni, fare riferimento a https://msdn.microsoft.com/en-us/library/cc223145.aspx
userDisableBit
2
2
Bit di blocco attributo controllo utente
Valore decimale/numero intero del flag di bit di blocco nel nome attributo flag utente specificato (ad esempio, il valore userControlAttribute di default). Per ulteriori informazioni, fare riferimento a https://msdn.microsoft.com/en-us/library/cc223145.aspx
userLockoutBit
16
16
Identificatore nome foresta
Identifica una raccolta/foresta di controller di dominio. Ogni oggetto servizio di elenco configurato con la stessa stringa sarà in grado di mappare i gruppi dai reciproci domini all'interno della rispettiva configurazione Mappature gruppi. Per gli esempi di utilizzo di questa opzione, vedere le sezioni successive.
forestNameIdentifier
n/d
Provisioning utenti
Il provisioning degli utenti fornisce opzioni per creare, modificare ed eliminare automaticamente gli utenti in ThingWorx.
Nome
Descrizione
Nome attributo XML
Valore di default
Note
Creazione utente attivata
Controlla la creazione/il provisioning automatici di utenti ThingWorx se le credenziali utente sono corrette nel server di Active Directory, facilitando la richiesta di accesso.
Se il campo è selezionato, gli utenti vengono creati con il nome utente di accesso specificato e con tutti i valori di default specificati nella tabella di configurazione User Default Settings.
Se il campo è deselezionato/false (valore di default), gli utenti devono esistere in ThingWorx prima che un utente tenti di effettuare l'accesso.
Affinché gli accessi abbiano esito positivo, gli utenti devono essere presenti in ThingWorx. Se l'utente appartiene alla tabella di configurazione Elenco di esclusione provisioning utenti, questo campo non ha effetti sulla creazione automatica dell'utente.
userCreationEnabled
false
Impostare su true se si desidera che il servizio di elenco in ThingWorx sia dotato della capacità di creare utenti automaticamente.
Modifica utente attivata
Controlla l'aggiornamento/il provisioning automatici di utenti ThingWorx se le credenziali utente sono corrette nel server di Active Directory, facilitando la richiesta di accesso.
Se il campo è selezionato/true, gli utenti vengono aggiornati a ogni tentativo di accesso. I valori utilizzati per l'aggiornamento sono quelli di default specificati nella tabella di configurazione User Default Settings.
Se il campo è deselezionato/false (default), gli utenti non vengono aggiornati a ogni tentativo di accesso dopo il tentativo iniziale quando l'utente è stato creato/sottoposto a provisioning automaticamente. Affinché gli accessi abbiano esito positivo, gli utenti devono essere presenti in ThingWorx.
Se l'utente appartiene alla tabella di configurazione Elenco di esclusione provisioning utenti, questo campo non ha effetti sull'aggiornamento automatico dell'utente.
userModificationEnabled
false
Impostare su true per consentire al servizio di elenco in ThingWorx di aggiornare gli utenti.
Eliminazione utente attivata
Controlla l'eliminazione o l'annullamento del provisioning automatico di utenti ThingWorx se l'utente non esiste nel server di Active Directory che facilita la richiesta di accesso.
Se il campo è selezionato/true, gli utenti vengono eliminati a un tentativo di accesso.
Se il campo è deselezionato/false, gli utenti non vengono eliminati a un tentativo di accesso. Perché gli accessi e l'eliminazione riescano, gli utenti devono essere presenti in ThingWorx. Se l'utente appartiene alla tabella di configurazione Elenco di esclusione provisioning utenti, questo campo non ha effetti sull'eliminazione automatica dell'utente.
userDeletionEnabled
false
Impostare su true per consentire al servizio di elenco in ThingWorx di eliminare gli utenti.
User Default Settings
Nella tabella seguente vengono descritte le impostazioni di default disponibili per gli utenti. Questi campi sono facoltativi.
Nome
Descrizione
Nome attributo XML
Valori validi
Note
Prefisso dominio di default utente sottoposto a provisioning
Un valore stringa utilizzato come prefisso per i nomi utente allo scopo di differenziare l'utente X dal server di dominio Y e l'utente X dal server di dominio Z.
Ciò consente ai servizi di elenco di Active Directory configurati di sapere in modo esplicito se l'utente che deve essere convalidato è destinato alla gestione. Se configurato con un valore, il servizio di elenco di Active Directory non prova a convalidare o a eseguire il provisioning dell'utente, bensì registra i messaggi di protezione e passa il tentativo di accesso utente al servizio di elenco ThingWorx successivo nella catena.
* 
Si consiglia di utilizzare un prefisso di dominio se lo stesso utente esiste in più server di dominio e nei relativi domini. Questa operazione riduce al minimo il rischio di comportamento non deterministico che potrebbe verificarsi a causa della funzionalità di water flow non attiva durante la convalida utente non riuscita.
userDefaultDomainPrefix
Stringa vuota o qualsiasi stringa contenente caratteri di nome entità validi
Se esiste più di un server di dominio configurato, deve essere utilizzata questa configurazione. Come prefisso di dominio si potrebbe ad esempio utilizzare NA o EUR.
* 
Questa impostazione può causare risultati imprevisti con l'opzione Accesso utente dinamico attivata, in quanto il prefisso del dominio di default dell'utente sottoposto a provisioning viene rimosso dal nome utente immesso al momento dell'autenticazione dell'utente prima di tentare di eseguire l'associazione ad Active Directory. Ad esempio, se l'opzione "Prefisso dominio di default utente sottoposto a provisioning" è impostata su "mydomain \" e un utente immette "mydomain\nomeutente" durante l'autenticazione in ThingWorx, solo "nomeutente" viene inviato ad Active Directory per l'autenticazione. Per tale utente l'autenticazione potrebbe non riuscire, anche se "mydomain\nomeutente" è il nome domain\samAccountName dell'utente in Active Directory.
* 
Se lo stesso nome utente esiste in più domini di Active Directory, l'autenticazione avrà esito negativo se l'utente che accede non è l'utente effettivo trovato in Active Directory. Quest'ultimo dipende dall'ordine sottoposto a interrogazione.
Descrizione di default utente sottoposto a provisioning
Valore stringa descrittivo che viene impostato come descrizione per tutti gli utenti sottoposti a provisioning. Questa impostazione risulta utile in quanto consente di aggiungere informazioni contestuali a un utente, ad esempio "Sottoposto a provisioning dal server di dominio Y".
userDefaultDescription
Stringa vuota o una stringa descrittiva
Utilizzare questa opzione se si preferisce una descrizione di default per tutti gli utenti sottoposti a provisioning (ad esempio utenti creati/aggiornati automaticamente).
Mashup di default utente sottoposto a provisioning
Nome di mashup di default che viene impostato come mashup di default per tutti gli utenti sottoposti a provisioning. Questa impostazione consente a tutti gli utenti sottoposti a provisioning di iniziare da un mashup di default comune quando accedono a ThingWorx. Esempi di questi mashup includono un mashup di default Guest, Self Service, Operators e così via.
userDefaultHomeMashupName
Stringa vuota per annullare l'impostazione o un nome di mashup esistente valido
Utilizzare questa opzione se si preferisce un mashup di default per tutti gli utenti sottoposti a provisioning (ad esempio utenti creati/aggiornati automaticamente).
Ad esempio è utile nel caso in cui si preferisce che tutti gli utenti inizino con lo stesso GuestMashup, SelfServiceMashup o LandingPageMashup quando aprono l'applicazione ThingWorx.
Mashup mobile di default utente sottoposto a provisioning
Nome di mashup mobile che viene impostato come mashup mobile per tutti gli utenti sottoposti a provisioning da utilizzare su dispositivi mobili. Questa impostazione consente a tutti gli utenti sottoposti a provisioning di iniziare da un mashup mobile comune quando accedono a ThingWorx. Esempi di questi mashup includono un mashup mobile Guest, Self Service, Operators e così via.
userDefaultMobileMashupName
Stringa vuota per annullare l'impostazione o un nome di mashup esistente valido
Utilizzare questa opzione se si preferisce un mashup mobile di default per tutti gli utenti sottoposti a provisioning (ad esempio utenti creati/aggiornati automaticamente).
Ad esempio è utile nel caso in cui si preferisce che tutti gli utenti inizino con lo stesso GuestMashup, SelfServiceMashup o LandingPageMashup quando aprono l'applicazione ThingWorx.
Tag di default utente sottoposto a provisioning
Insieme di tag modello impostati su tutti gli utenti sottoposti a provisioning. Questa impostazione consente a tutti gli utenti sottoposti a provisioning di disporre di tag comuni che possono essere utilizzati per la ricerca o l'identificazione contestuale. Esempi di questi mashup includono un tag Operator, ProvisionedByDomainServerY, ProvisionedByDomainServerZ e così via.
userDefaultTags
Stringa vuota per annullare l'impostazione o nomi di tag esistenti validi
Utilizzare questa opzione se si preferisce un insieme di tag modello di default per tutti gli utenti sottoposti a provisioning (ad esempio utenti creati/aggiornati automaticamente).
Elenco di esclusione provisioning utenti
Si tratta di una tabella di configurazione che consente all'amministratore del servizio di elenco di Active Directory di escludere utenti ThingWorx specifici dalla partecipazione alle funzionalità di provisioning utenti del servizio di elenco di Active Directory.
Le funzionalità di provisioning utenti includono la creazione, la modifica e l'eliminazione di utenti. Durante la configurazione di ThingWorx con un servizio di elenco di Active Directory, è possibile che gli utenti esistenti desiderino che Active Directory non gestisca la propria configurazione e presenza e che intendano utilizzarlo solo per la convalida delle credenziali. Questi tipi di utenti devono essere aggiunti alla configurazione dell'Elenco di esclusione provisioning utenti.
* 
L'utente amministratore viene aggiunto automaticamente a questo elenco e non deve essere rimosso.
L'utente amministratore è un utente di default ThingWorx che non può essere creato o eliminato. L'utente amministratore non deve essere modificato automaticamente. Ciò può causare modifiche non desiderate alla configurazione in fase di accesso.
Scenari di accesso utente
La tabella riportata di seguito mostra gli stati utente precedente e successivo durante i tentativi di accesso a ThingWorx per le opzioni di configurazione impostate nel servizio di elenco di Active Directory in ThingWorx.
* 
Gli scenari descritti di seguito non comportano una modifica allo stato utente/alla configurazione nel server di Active Directory.
Le voci in grassetto sono gli elementi che incidono maggiormente sullo stato successivo dell'utente in ThingWorx.
Stato dell'utente nel server AD
Stato precedente dell'utente in ThingWorx
Opzioni di configurazione
Stato successivo dell'utente in ThingWorx
Non esiste
Non esiste
Qualsiasi configurazione
Non esiste
Non può essere utilizzato per eseguire l'accesso
Non esiste
Esiste (creato manualmente dall'amministratore di ThingWorx)
La password è stata impostata/si trova in ThingWorx
Creazione provisioning utenti attivata
Modifica provisioning utenti attivata
Eliminazione provisioning utenti attivata
Presente nell'elenco di esclusione provisioning utenti
Esiste
Non viene modificato o eliminato
Può essere utilizzato per eseguire l'accesso
Non esiste
Esiste (creato manualmente dall'amministratore di ThingWorx)
La password non è stata impostata o non si trova in ThingWorx
Creazione provisioning utenti attivata
Modifica provisioning utenti attivata
Eliminazione provisioning utenti attivata
Presente nell'elenco di esclusione provisioning utenti
Esiste
Non viene modificato o eliminato
Non può essere utilizzato per eseguire l'accesso
Non esiste
Esiste (creato manualmente dall'amministratore di ThingWorx)
Creazione provisioning utenti attivata
Modifica provisioning utenti attivata
Eliminazione provisioning utenti attivata
Non presente nell'elenco di esclusione provisioning utenti
Non esiste
Non può essere utilizzato per eseguire l'accesso
Non esiste
Esiste (creato manualmente dall'amministratore di ThingWorx)
Creazione provisioning utenti attivata
Modifica provisioning utenti attivata
Eliminazione provisioning utenti disattivata
Non presente nell'elenco di esclusione provisioning utenti
Non esiste
Non può essere utilizzato per eseguire l'accesso
Esiste
Non esiste
Creazione provisioning utenti attivata
Modifica provisioning utenti attivata
Eliminazione provisioning utenti attivata
Presente nell'elenco di esclusione provisioning utenti
Non esiste
Non può essere utilizzato per eseguire l'accesso
Esiste
Disattivato
Non esiste
Creazione provisioning utenti attivata
Modifica provisioning utenti attivata
Eliminazione provisioning utenti attivata
Non presente nell'elenco di esclusione provisioning utenti
Non esiste
Non può essere utilizzato per eseguire l'accesso
Esiste
Bloccato
Non esiste
Creazione provisioning utenti attivata
Modifica provisioning utenti attivata
Eliminazione provisioning utenti attivata
Non presente nell'elenco di esclusione provisioning utenti
Non esiste
Non può essere utilizzato per eseguire l'accesso
Esiste
Non esiste
Creazione provisioning utenti disattivata
Modifica provisioning utenti attivata
Eliminazione provisioning utenti attivata
Non presente nell'elenco di esclusione provisioning utenti
Non esiste
Non può essere utilizzato per eseguire l'accesso
Esiste
Non esiste
Creazione provisioning utenti attivata
Modifica provisioning utenti attivata
Eliminazione provisioning utenti attivata
Non presente nell'elenco di esclusione provisioning utenti
Esiste (creato)
Aggiunto come membro ai gruppi mappati
Impostazioni utente di default aggiunte
Può essere utilizzato per eseguire l'accesso
Esiste
Esiste
Creazione provisioning utenti attivata
Modifica provisioning utenti attivata
Eliminazione provisioning utenti attivata
Non presente nell'elenco di esclusione provisioning utenti
Impostazioni utente di default configurate
L'utente viene modificato
Aggiunto o rimosso come membro dai gruppi mappati
Impostazioni utenti di default aggiunte
Può essere utilizzato per eseguire l'accesso
Esiste
Esiste
Creazione provisioning utenti attivata
Modifica provisioning utenti attivata
Eliminazione provisioning utenti attivata
Presente nell'elenco di esclusione provisioning utenti
Impostazioni utente di default configurate
L'utente non viene modificato
Può essere utilizzato per eseguire l'accesso
Esiste
Bloccato
Esiste
Qualsiasi configurazione
L'utente è bloccato
Non può essere utilizzato per eseguire l'accesso
Esiste
Disattivato
Esiste
Qualsiasi configurazione
L'utente è disattivato
Non può essere utilizzato per eseguire l'accesso
Scenari di blocco dell'utente
Le impostazioni di blocco account vengono configurate in ThingWorx nel sottosistema Gestione utenti.
Lockout Manager viene definito come sistema (ThingWorx o Active Directory) che determina il blocco in base alla valutazione del blocco.
Di seguito è riportata la chiave per la tabella indicata sotto.
Il blocco di ThingWorx prova a eseguire la configurazione: TLA
Il blocco di Active Directory prova a eseguire la configurazione: ADL
Valutazione del blocco
Lockout Manager
Esempio di configurazione del numero massimo di tentativi di Lockout Manager
Azione
Risultato
TLA > ADL
ADL
2 tentativi
ThingWorx trova un utente bloccato in Active Directory
L'utente di ThingWorx viene bloccato immediatamente
TLA > ADL
ADL
2 tentativi
L'utente accede due volte in modo non corretto
L'utente di ThingWorx viene bloccato dopo due tentativi
TLA = ADL
* 
La configurazione di blocco consigliata prevede la corrispondenza tra Active Directory e ThingWorx.
ADL
2 tentativi
L'utente accede due volte in modo non corretto
L'utente di ThingWorx viene bloccato dopo due tentativi
TLA < ADL
ADL
2 tentativi
L'utente accede due volte in modo non corretto
L'utente di ThingWorx viene bloccato dopo due tentativi
Modifiche del servizio di elenco di ThingWorx o Active Directory
Se un utente viene eliminato o aggiornato nel server di dominio, una mappatura gruppi viene aggiornata nel servizio di elenco di Active Directory di ThingWorx associato. Se le impostazioni di default dell'utente cambiano, si consiglia di utilizzare il servizio TerminateUserSessions nella risorsa CurrentSessionInfo per quell'utente in ThingWorx.
* 
Se viene eseguita una delle modifiche di configurazione riportate di seguito ed è presente un utente creato dalla configurazione precedente, il servizio di elenco di Active Directory non può eseguire la migrazione dell'utente precedente al nuovo utente. Al contrario, viene creato e gestito un nuovo utente in base ai valori nuovi o diversi impostati con l'attributo specificato nel dominio e/o nome attributo ID utente.
Il valore di Nome attributo ID utente nella configurazione Mappature schemi è un nome utente.
Il prefisso del dominio viene modificato.
Mappatura degli attributi utente di Active Directory alla proprietà UserExtension di ThingWorx
Quando un nuovo utente di Active Directory esegue l'accesso, tale utente viene creato in ThingWorx e può essere sottoposto a provisioning automatico, a seconda delle impostazioni in Active Directory per Create User. Le opzioni descritte nella tabella seguente consentono di mappare automaticamente gli attributi mappati dal server di Active Directory alla tabella della proprietà UserExtension per tale utente in ThingWorx. Quando un utente di Active Directory esistente esegue l'accesso, qualsiasi valore modificato viene incluso nella mappatura UserExtension dell'utente. Se viene aggiunta una nuova mappatura delle righe della tabella di configurazione di UserExtension, i nuovi dati vengono inclusi nella proprietà UserExtension dell'utente.
Per impostare le mappature in ThingWorx Composer, attenersi alla procedura descritta di seguito.
1. Accedere al servizio di elenco di Active Directory in Composer (Protezione > Servizi di elenco > <Nome servizio di Active Directory>).
2. Visualizzare la pagina Configurazione e scorrere verso il basso fino alla sezione Tabella di configurazione mappatura proprietà estensioni utente, quindi fare clic su Aggiungi, come indicato di seguito:
3. Nel campo Nome attributo Active Directory della finestra Tabella di configurazione mappatura proprietà estensioni utente digitare il nome dell'attributo di Active Directory che si desidera mappare automaticamente a una proprietà ThingWorx. La schermata seguente mostra il menu a discesa per la selezione della proprietà ThingWorx. Questo menu a discesa è disponibile a partire dalla versione 8.3.5 di ThingWorx. Selezionare uno dei valori disponibili nell' elenco.
4. Dopo avere effettuato una selezione e fatto clic su Aggiungi, la nuova riga viene visualizzata nella tabella di configurazione:
Le opzioni contenute nella tabella di configurazione seguente sono disponibili solo in ThingWorx 8.2.1 e versioni successive.
Attributo
Descrizione
activeDirectoryAttributeName
Nome di un attributo negli attributi dell'utente di Active Directory che può essere mappato. Questo campo può essere lasciato vuoto per specificare un valore di default per tutti gli utenti sincronizzati da Active Directory.
* 
Se viene specificato un attributo che non viene trovato in un utente di Active Directory, nel log applicazioni viene visualizzato il seguente messaggio di errore:
Attribute: <attribute_name> not found.
userExtensionPropertyName
Nome della proprietà dell'estensione utente nella tabella UserExtension dell'utente ThingWorx che deve essere mappata all'attributo di Active Directory.
* 
Se nel log applicazioni viene visualizzato un messaggio di errore per segnalare che il nome di userExtensionProperty non è valido, vedere Risoluzione dei problemi: nome non valido per la proprietà UserExtension.
userExtensionDefaultValue
Il valore di default per la proprietà UserExtension se sul server AD l'attributo non è stato trovato oppure era vuoto o non valido.
Mappatura di utenti e gruppi esistenti in più domini
Gli utenti che sono membri di un gruppo in un dominio di Active Directory separato possono essere mappati ai rispettivi gruppi in ThingWorx utilizzando l'opzione Identificatore nome foresta. Quando questo campo viene popolato con una stringa, viene identificata una raccolta/foresta di controller di dominio. Ogni oggetto servizio di elenco configurato con la stessa stringa sarà in grado di mappare i gruppi dai reciproci domini all'interno della rispettiva configurazione Mappature gruppi.
Valore di Identificatore nome foresta
Risultato
<blank> o stringa vuota
I gruppi sono visibili solo dall'oggetto del servizio di elenco specifico dal quale sono stati richiesti.
Stringa che non corrisponde a nessun'altra configurazione del servizio di elenco
I gruppi sono visibili solo dall'oggetto del servizio di elenco specifico dal quale sono stati richiesti.
Stringa che corrisponde a una o più configurazioni del servizio di elenco
I gruppi sono visibili solo dall'oggetto del servizio di elenco specifico dal quale sono stati richiesti e dagli altri oggetti del servizio di elenco con identificatore nome foresta corrispondente.
Esempio 1: gruppi visibili dallo specifico oggetto Servizio di elenco richiesto e dagli altri oggetti Servizio di elenco con identificatore nome foresta corrispondente
Nome dominio
Gruppi configurati
Valore di Identificatore nome foresta
Gruppi visibili per la mappatura
Domain1
Group1, Group2
<blank>
Group1, Group2
Domain2
Group3, Group4
<blank>
Group3, Group4
Domain3
Group5, Group6
<blank>
Group5, Group6
Esempio 2: l'Identificatore nome foresta è diverso per tutti gli oggetti Servizio di elenco
Nome dominio
Gruppi configurati
Valore di Identificatore nome foresta
Gruppi visibili per la mappatura
Domain1
Group1, Group2
"domainForest1"
Group1, Group2
Domain2
Group3, Group4
"DomainForest"
Group3, Group4
Domain3
Group5, Group6
"Domain Forest"
Group5, Group6
Esempio 3: l'Identificatore nome foresta è identico per 2 di 3 oggetti Servizio di elenco
Nome dominio
Gruppi configurati
Valore di Identificatore nome foresta
Gruppi visibili per la mappatura
Domain1
Group1, Group2
"domainForest"
Group1, Group2, Group3, Group4
Domain2
Group3, Group4
"domainForest"
Group1, Group2, Group3, Group4
Domain3
Group5, Group6
<blank>
Group5,Group6
Esempio 4: l'Identificatore nome foresta è identico per tutti e tre gli oggetti Servizio di elenco
Nome dominio
Gruppi configurati
Valore di Identificatore nome foresta
Gruppi visibili per la mappatura
Domain1
Group1, Group2
"domainForest"
Group1, Group2, Group3, Group4, Group5, Group6
Domain2
Group3, Group4
"domainForest"
Group1, Group2, Group3, Group4, Group5, Group6
Domain3
Group5, Group6
"domainForest"
Group1, Group2, Group3, Group4, Group5, Group6
Convalida importazione non riuscita
Quando un'entità di Active Directory viene importata, l'importazione ha esito negativo solo se il valore specificato nel file XML non corrisponde al tipo di dati del campo. Ad esempio, se viene fornito il valore test per l'elemento <port>, l'importazione avrà esito negativo. Lo snippet del file XML che segue mostra quando si verifica il problema:

<Row>
<adminPassword><![CDATA[]]></adminPassword>
<adminPrincipal><![CDATA[CN=Administrator,CN=Users,DC=domain,DC=com]]></adminPrincipal>
<domain><![CDATA[dc=domain,dc=com]]></domain>
<port>test</port> <================================ INVALID DATA TYPE VALUE FOR <port>. MUST BE AN INTEGER.
<protocol><![CDATA[LDAP]]></protocol>
<server><![CDATA[10.80.21.164]]></server>
</Row>
La schermata seguente mostra il contesto visualizzato in Composer:
I seguenti errori vengono scritti nel file ApplicationLog:

ERROR: [message: Conversion Error on Field port : Unable To Convert From com.sun.org.apache.xerces.internal.dom.ElementNSImpl to INTEGER]
ERROR: Entity import failed
Convalida importazione riuscita
Per gli scenari in cui la convalida non riesce a causa di un campo obbligatorio mancante o di una configurazione non valida, l'entità servizio di elenco può comunque essere importata, ma sarà contrassegnata come disattivata. Per attivare l'entità, i campi non validi devono essere aggiornati.
* 
Un'entità servizio di elenco non può essere utilizzata per l'autenticazione fino a quando non è attivata. Il processo di attivazione di un'entità servizio di elenco importata come disattivata è manuale. È necessario accedere all'entità disattivata in ThingWorx Composer, attivarla e salvarla.
L'esempio seguente mostra una configurazione non valida, con un commento sotto il parametro non valido (protocol):

<Row>
<adminPassword><![CDATA[]]></adminPassword>
<adminPrincipal><![CDATA[CN=Administrator,CN=Users,DC=domain,DC=com]]></adminPrincipal>
<domain><![CDATA[dc=domain,dc=com]]></domain>
<port>test</port>
<protocol><![CDATA[INVALID-PROTOCOL]]></protocol>
<== INVALID CONFIGURATION VALUE FOR <protocol>. MUST BE EITHER LDAP OR LDAPS.
<server><![CDATA[10.80.21.164]]></server>
</Row>
Si noti che questa entità viene importata correttamente in ThingWorx:
Tuttavia, la casella di controllo Attivata sull'entità stessa non è selezionata a indicare che l'entità è disattivata. Di seguito è riportato un esempio:
Nel file ApplicationLog viene visualizzato l'errore seguente per questo scenario:

ERROR: Directory Service Error: The URI Scheme must be LDAP or LDAPS
Messaggi di errore di configurazione
Nella tabella seguente sono elencati i possibili messaggi di errore che potrebbero essere visualizzati in ApplicationLog a seconda dei campi configurati non validi nell'entità di Active Directory.
Messaggi di errore di configurazione
Campo
Sezione di configurazione
Messaggio di errore
Schema URI
Impostazioni connessione
Directory Service Error: The URI Scheme must be LDAP or LDAPS.
FQDN server o indirizzo IP/
Porta di rete server
Impostazioni connessione
Directory Service Error: The Server FQDN or IP address cannot be null.
Directory Service Error: java.net.MalformedURLException: Not an LDAP URL: <IP>:<Port> Cannot parse url: <IP><Port
Directory Service Error:
java.net.ConnectException: Connection refused (Connection refused) to 'Server FQDN or IP address' and 'Server Network Port' <IP>:<Port>
Porta di rete server
Impostazioni connessione
Directory Service Error: The Server Network port must be in the range of 0 to 65535.
Nome distinto dominio
Impostazioni connessione
Directory Service Error: The Domain cannot be null.
Nome utente/gruppo/ruolo amministratore
Impostazioni connessione
Directory Service Error: The Administrative Principal Name cannot be null.
* 
Se l'opzione "Accesso utente dinamico" NON è attivata, il campo Nome utente/gruppo/ruolo amministratore è obbligatorio.
Password amministratore
Impostazioni connessione
Directory Service Error: The Administrative Password cannot be null.
* 
Se l'opzione "Accesso utente dinamico" NON è attivata, il campo Password amministratore è obbligatorio.
Nome attributo ID utente
Mappature schemi
Directory Service Error: The attributeUserIdName cannot be null.
Nome distinto base utente
Mappature schemi
Directory Service Error: The userBaseDN cannot be null.
Nome classe oggetto gruppo
Mappature schemi
Directory Service Error: The groupObjectClass cannot be null.
Nome attributo gruppo di appartenenza
Mappature schemi
Directory Service Error: The memberOfAttribute cannot be null.
Nome attributo gruppo
Mappature schemi
Directory Service Error: The groupAttribute cannot be null.
Nome attributo flag utente
Mappature schemi
Directory Service Error: The userControlAttribute cannot be null.
Bit disattivato attributo controllo utente
Mappature schemi
Directory Service Error: The userDisableBit cannot be null and must be an integer.
Bit di blocco attributo controllo utente
Mappature schemi
Directory Service Error: The userLockoutBit cannot be null and must be an integer.
Nome gruppo Active Directory
Mappature gruppi
Directory Service Error: The activeDirectoryGroupName cannot be null.
Nome gruppo ThingWorx
Mappature gruppi
Directory Service Error: The thingworxGroupName cannot be null.
Mashup di default utente sottoposto a provisioning
Default utente
Directory Service Error: The userDefaultHomeMashupName cannot be an invalid mashup name.
Mashup mobile di default utente sottoposto a provisioning
Default utente
Directory Service Error: The userDefaulMobileMashupName cannot be an invalid mashup name.
Tag di default utente sottoposto a provisioning
Default utente
Directory Service Error: The userDefaulTags cannot have invalid tags.
Directory Service Error: The userDefaulTags cannot have an invalid tag name.
Nome utente ThingWorx
Elenco di esclusione provisioning utenti
Directory Service Error: The thingworxUserName cannot be null.
Test della connettività di Active Directory
A partire dalla versione 8.3.5, nella sezione Impostazioni connessione della pagina Configurazione di un servizio di elenco, il pulsante Verifica in Test connessione consente di testare la connessione al server di Active Directory in base alla configurazione corrente. I campi seguenti della sezione Impostazioni connessione della pagina Configurazione vengono utilizzati per testare la connessione di Active Directory:
Schema URI
FQDN server o indirizzo IP
Porta di rete server
Nome utente/gruppo/ruolo amministratore
Password amministratore
Il pulsante Verifica avvia il servizio TestConnection, che accetta i parametri descritti di seguito.
Parametri del servizio TestConnection
Parametro
Tipo di base
Descrizione
userName
STRING
Nome dell'utente in Active Directory.
password
STRING
Password crittografata dell'utente di Active Directory.
protocol
STRING
Schema utilizzato (LDAP o LDAPS).
server
STRING
Host o indirizzo IP dell'istanza di Active Directory.
port
INTEGER
Porta dell'istanza di Active Directory.
I risultati del test di connessione vengono restituiti in result, che è un tipo di base INFOTABLE, con le informazioni seguenti:
status: (Boolean) indica se è stata stabilita una connessione ad Active Directory.
message: (String) messaggio che fornisce informazioni utili sul motivo per cui il test non è riuscito.
* 
Se l'opzione Accesso utente dinamico è attivata, i campi "Nome utente/gruppo/ruolo amministratore" e "Password amministratore" non vengono utilizzati e il pulsante Verifica è nascosto.
Risoluzione dei problemi: prefisso del dominio Active Directory e l'opzione Accesso utente dinamico
L'impostazione di configurazione Provisioned User's Default Domain Prefix del servizio di elenco di Active Directory può potenzialmente interferire con l'opzione Accesso utente dinamico. La schermata seguente visualizza la sezione Default utente:
L'impostazione Provisioned User's Default Domain Prefix consente di specificare un prefisso che limita gli utenti che possono essere autenticati tramite il servizio di elenco. In presenza di più servizi di elenco di Active Directory configurati per la stessa piattaforma ThingWorx, è consigliabile utilizzare questa opzione per evitare che tutti i servizi di elenco tentino di autenticare lo stesso utente.
Tenere tuttavia presente che questo prefisso viene rimosso dal nome utente trasmesso ad Active Directory. Se il prefisso specificato corrisponde al dominio Active Directory dell'utente, l'utente non può accedere ad Active Directory.
Ad esempio:
1. DOMAIN\ è specificato come Provisioned User's Default Domain Prefix.
2. L'utente DOMAIN\user1 tenta di accedere a ThingWorx Platform.
3. DOMAIN\ viene rimosso dal nome utente che viene passato ad Active Directory e l'utente user1 non può eseguire l'accesso.
Questo problema non influisce attualmente su un servizio di elenco di Active Directory con l'opzione Accesso utente dinamico attivata.
Per ovviare a questo problema, attenersi alle procedure descritte di seguito.
Evitare di utilizzare il prefisso del dominio di default (soluzione preferita) - Evitare di utilizzare l'impostazione del prefisso del dominio di default dell'utente quando l'opzione Accesso utente dinamico è attivata.
Utilizzare un prefisso diverso che deve essere immesso dagli utenti o fare in modo che gli utenti immettano il prefisso del dominio due volte - È possibile specificare un prefisso aggiuntivo che non sia il prefisso DOMAIN\ richiesto per l'accesso tramite DOMAIN\SamAccountName. Ad esempio, si potrebbe avere un prefisso PREFIX- in modo che gli utenti eseguano l'accesso con PREFIX-DOMAIN\prefix.
Risoluzione dei problemi: nome non valido per la proprietà UserExtension
Quando si mappa un attributo di Active Directory a una proprietà UserExtension di ThingWorx, si seleziona un nome della proprietà UserExtension da un menu a discesa. Il seguente messaggio di errore può essere visualizzato nel log applicazioni ThingWorx:
Property name: <property_name> not found
in UserExtensions properties
L'errore è causato dalle condizioni descritte di seguito.
Il file XML importato per il servizio di elenco di Active Directory contiene un nome non valido per la proprietà userExtensionPropertyName.
Un utente esegue l'accesso e viene autenticato dal servizio di elenco di Active Directory con la proprietà userExtensionPropertyName non valida configurata.
Questo errore può verificarsi se il file XML è stato modificato manualmente. È possibile rimuovere la voce non valida dalla tabella delle mappature delle proprietà UserExtension nella pagina Configurazione dell'entità servizio di elenco in ThingWorx Composer.