Résolution des problèmes liés à Active Directory
Cette rubrique est composée des sections suivantes pour vous aider à résoudre les problèmes liés à Active Directory :
Echec de l'importation d'une entité avec un message d'erreur de conversion impossible
Lorsqu'une entité Active Directory est importée, l'importation échoue dans le seul cas où la valeur spécifiée dans le fichier XML ne correspond pas au type de données du champ. Par exemple, si la valeur test est fournie pour l'élément <port>, l'importation échouera. Voici un extrait de code XML illustrant ce qui se produirait dans ce cas :

<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>
Et voici ce que vous verriez dans Composer :
Les erreurs suivantes seraient par ailleurs enregistrées dans le journal de l'application :

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
Pour résoudre ce problème, vérifiez le fichier XML pour vous assurer que les valeurs fournies sont bien du type de données approprié.
Retour à Mise en route
Echec de la validation de l'importation, réussite de l'importation
Dans les cas où la validation ne peut aboutir du fait d'un champ obligatoire manquant ou d'une configuration non valide, l'entité Service d'annuaire est malgré tout importée, mais elle est dès lors marquée comme étant désactivée. Pour activer l'entité, vous devez alors mettre à jour les champs non valides.
* 
Une entité Service d'annuaire ne peut pas être utilisée à des fins d'authentification tant qu'elle n'est pas activée. Le processus d'activation d'une entité Service d'annuaire qui a été importée en tant qu'entité désactivée est manuel. Vous devez accéder à l'entité désactivée dans ThingWorx Composer, l'activer, puis la sauvegarder.
Voici un exemple de configuration non valide, avec un commentaire sous le paramètre non valide (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>
Notez qu'une telle entité est néanmoins importée avec succès dans ThingWorx :
En revanche, la case à cocher Activé de l'entité est désélectionnée, ce qui signifie que l'entité est désactivée. La capture d'écran ci-dessous illustre ce cas de figure :
Dans ce scénario, l'erreur suivante est consignée dans le journal de l'application :

ERROR: Directory Service Error: The URI Scheme must be LDAP or LDAPS
Retour à Mise en route
Messages d'erreur de configuration
La table ci-après répertorie les messages d'erreur susceptibles de figurer dans le journal de l'application du fait de configurations de champ non valides dans l'entité Active Directory : Une autre table ci-dessous fournit des liens vers les sections de configuration répertoriées dans cette table :
Messages d'erreur de configuration
Champ
Section de la configuration
Message d'erreur
Modèle URI
Paramètres de connexion
Directory Service Error: The URI Scheme must be LDAP or LDAPS.
Nom de domaine complet du serveur ou adresse IP/
Port réseau du serveur
Paramètres de connexion
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>
Port réseau du serveur
Paramètres de connexion
Directory Service Error: The Server Network port must be in the range of 0 to 65535.
Nom unique de domaine
Paramètres de connexion
Directory Service Error: The Domain cannot be null.
Nom de l'identité d'administration
Paramètres de connexion
Directory Service Error: The Administrative Principal Name cannot be null.
* 
Si la fonction "Connexion utilisateur dynamique" n'est PAS activée, le nom de l'identité d'administration est obligatoire.
Mot de passe d'administration
Paramètres de connexion
Directory Service Error: The Administrative Password cannot be null.
* 
Si la fonction "Connexion utilisateur dynamique" n'est PAS activée, le mot de passe d'administration est obligatoire.
Nom d'attribut d'ID utilisateur
Mappages de schémas
Directory Service Error: The attributeUserIdName cannot be null.
Nom unique de base utilisateur
Mappages de schémas
Directory Service Error: The userBaseDN cannot be null.
Nom de classe d'objet de groupe
Mappages de schémas
Directory Service Error: The groupObjectClass cannot be null.
Nom d'attribut d'appartenance au groupe
Mappages de schémas
Directory Service Error: The memberOfAttribute cannot be null.
Nom d'attribut de groupe
Mappages de schémas
Directory Service Error: The groupAttribute cannot be null.
Nom d'attribut d'indicateur d'utilisateur
Mappages de schémas
Directory Service Error: The userControlAttribute cannot be null.
Bit de désactivation de l'attribut de contrôle utilisateur
Mappages de schémas
Directory Service Error: The userDisableBit cannot be null and must be an integer.
Bit de verrouillage de l'attribut de contrôle utilisateur
Mappages de schémas
Directory Service Error: The userLockoutBit cannot be null and must be an integer.
Nom du groupe Active Directory
Mappages de groupes
Directory Service Error: The activeDirectoryGroupName cannot be null.
Nom de groupe ThingWorx
Mappages de groupes
Directory Service Error: The thingworxGroupName cannot be null.
Application composite d'accueil par défaut de l'utilisateur configuré
Valeurs utilisateur par défaut
Directory Service Error: The userDefaultHomeMashupName cannot be an invalid mashup name.
Application composite mobile par défaut de l'utilisateur configuré
Valeurs utilisateur par défaut
Directory Service Error: The userDefaulMobileMashupName cannot be an invalid mashup name.
Tags par défaut de l'utilisateur configuré
Valeurs utilisateur par défaut
Directory Service Error: The userDefaulTags cannot have invalid tags.
Directory Service Error: The userDefaulTags cannot have an invalid tag name.
Nom d'utilisateur ThingWorx
Liste d'exclusion d'approvisionnement utilisateur
Directory Service Error: The thingworxUserName cannot be null.
Les liens figurant dans la table ci-après vous renvoient vers les sections de configuration liées à la table ci-dessus :
Section de la configuration
Rubrique
Paramètres de connexion
Mappages de schémas
Mappages de groupes
Valeurs utilisateur par défaut
Liste d'exclusion d'approvisionnement utilisateur
Dépannage : préfixe de domaine Active Directory et connexion utilisateur dynamique
Le service d'annuaire Active Directory possède un paramètre de configuration, Provisioned User's Default Domain Prefix, qui peut potentiellement interférer avec la fonction Connexion utilisateur dynamique. Voici le jeu des Valeurs utilisateur par défaut :
Le paramètre Provisioned User's Default Domain Prefix vous permet de spécifier un préfixe qui restreint les utilisateurs que le service d'annuaire peut authentifier. Si plusieurs services d'annuaire Active Directory sont configurés pour la même instance de ThingWorx Platform, cette option peut être utilisée pour éviter que tous les services d'annuaire ne tentent d'authentifier le même utilisateur.
Notez cependant que ce préfixe est supprimé du nom d'utilisateur transmis à Active Directory. Si le préfixe spécifié correspond au domaine Active Directory de l'utilisateur, celui-ci ne peut donc pas se connecter à Active Directory.
Par exemple :
1. DOMAIN\ est spécifié comme Provisioned User's Default Domain Prefix.
2. L'utilisateur DOMAIN\user1 essaie de se connecter à ThingWorx Platform.
3. DOMAIN\ est supprimé du nom d'utilisateur transmis à Active Directory et user1 ne peut donc pas se connecter.
Les services d'annuaire Active Directory sur lesquels la fonction Connexion utilisateur dynamique est désactivée ne sont actuellement pas affectés par ce problème.
Pour contourner ce problème, suivrez les règles ci-après :
Eviter d'utiliser un préfixe de domaine par défaut (solution à privilégier) : évitez d'utiliser le préfixe de domaine par défaut de l'utilisateur dès lors que la fonction Connexion utilisateur dynamique est activée.
Utiliser un préfixe supplémentaire que les utilisateurs devront utiliser ou leur imposer de saisir deux fois le préfixe de domaine : un préfixe supplémentaire peut être spécifié en plus du préfixe DOMAIN\ pour la connexion via DOMAIN\SamAccountName. Par exemple vous pouvez définir un préfixe PREFIX- et les utilisateurs se connecteront dès lors avec PREFIX-DOMAIN\prefix.
Dépannage : nom de propriété UserExtension incorrect
Lors du mappage d'un attribut Active Directory à une propriété UserExtension de ThingWorx, vous sélectionnez le nom de la propriété UserExtension dans un menu déroulant. Le message d'erreur suivant peut s'afficher dans le journal de l'application ThingWorx :
Property name: <property_name> not found
in UserExtensions properties
Cette erreur est due aux conditions suivantes :
Le fichier XML importé pour le service d'annuaire Active Directory contient un nom incorrect pour le userExtensionPropertyName ET
Un utilisateur se connecte et est authentifié par le service d'annuaire Active Directory avec le userExtensionPropertyName incorrectement configuré.
Une telle erreur peut se produire si vous avez modifié le fichier XML manuellement. Vous pouvez supprimer l'entrée incorrecte de la table de mappage des propriétés des extensions utilisateur dans la page de configuration de l'entité Service d'annuaire dans ThingWorx Composer.
Est-ce que cela a été utile ?