Authentification sur 4D client via LDAP

Product :4D - 4D Server
bonjour,

on a un serveur LDAP dont on se sert pour les authentifications sur certains de nos services en interne (mattermost, email).
on aimerait étendre cela à l’authentification sur 4D client.
j’ai vu qu’il y a la fonctionnalité d’authentification unique sous windows (sso) ainsi que les commandes LDAP. mais ça ne répond pas vraiment à ce qu’on recherche.

est-il possible de remplacer/combiner le système d’utilisateurs et de groupes de 4D avec un système fonctionnant avec un serveur ldap?

Oui, c’est possible on dispose de tout ce qu’il faut avec le jeu des commandes et fonctions 4D pour ça.

Il est possible de créer des utilisateurs 4D dynamiquement et de changer l’utilisateur courant. Il est possible d’appeler LDAP pour s’authentifier. Bref tout est là.

http://doc.4d.com/4Dv17R2/4D/17-R2.1720/LDAP.201-3856141.en.html

http://doc.4d.com/4Dv17R2/4D/17-R2.1720/Users-and-Groups.201-3856087.en.html

merci beaucoup pour ces liens.

j’ai cependant essayé d’ouvrir une connexion sur le serveur LDAP, sans succès et je reçois les codes d’erreur 1001 (LLDP) et 1004 (LDAP).
Dans la liste des codes d’erreurs de la base de données, ils correspondent à :

j’ai pourtant vérifié les identifiant et mot de passe, et ils sont corrects.
est-ce que ça veut dire que je doit créer une certaine table ?

Correction

j’avais oublié d’ajouter “/?base” à la fin de l’URI

merci

je reviens vers toi par rapport à l’authentification avec LDAP.
j’ai bien accès au serveur, je peux récupérer les infos dont j’ai besoin
mais ma question est de savoir quel est le meilleur endroit pour placer mon code pour que je puisse récupérer le login et le mot de passe entrés par l’utilisateur ?

Je te suggère :

Dans tes settings :

  • Définis un user par défaut avec les droits minimaux.
    Lors d’une connexion à 4D server c’est ce profil qui sera utilisé, jusqu’à ce que tu en changes par programmation (voir ci-dessous)

1- on startup - lance un nouveau process
2- Ouvre ton formulaire de login pour permettre de saisir le mdp et login
3- vérifie si cette authentification est valide en interrogeant le serveur LDAP (LDAP LOGIN) depuis le formulaire.
4- escalade tes droits 4D en changeant l’utilisateur courant, avec le compte admin (CHANGE CURRENT USER)
5- depuis le compte admin vérifie si un profil utilisateur 4d existe avec le login saisie et s’il n’existe pas il faut le créer (Set user properties), puis basculer sur le profil utilisateur 4D (CHANGE CURRENT USER)

De cette façon, tu pourras authentifier avec LDAP en principal puis ensuite créer ou utiliser un profil utilisateur 4D spécifique et ainsi tracer dans les fichiers d’historiques, les opérations réalisées pour chaque utilisateur de façon différencié. C’est toujours utile :wink:

Salut Maurice,
je me demande, étapes 1-2 : quelle raison pour faire le login dans un nouveau process ?

Si tu as besoin de laisser 4D prendre son souffle par un DELAY PROCESS, par exemple, c’est mieux dans ce contexte.

Le process principal doit rester sur l’utilisateur par défaut, je me demandais si ça pouvait poser un éventuel problème.

non, tout bascule sur l’utilisateur courant défini avec la commande CHANGE CURRENT USER.

Tu ne peux pas avoir plusieurs process avec chacun un profil utilisateur particulier.