Configuration LDAP

Il faut relire la Doc, jeedom permet l’authentification sur AD, c’est tout.
Pas de gestion du rbac adossé a l’ad, c’est marqué nulle part.
Pas de synchronisation non plus d’indique

Salut,

Le principe du LDAP, c’est pas de la synchronisation ! C’est une demande à chaque tentative de connexion.
J’ai pas testé mais le principe est très certainement le suivant

  • tu crée ton filtre (OU/CN etc) et tu donnes les infos LDAP
  • l’utilisateur fait une demande d’accès sur jeedom
  • jeedom fait une connexion au LDAP, si le compte existe (avec le filtre) ET que le mot de passe est bon (j’imagine qu’il y a délégation vu qu’il semble y avoir désactivation des comptes locaux), alors l’accès est ok. Sinon rejet.

Là où c’est moins clair, c’est comment gérer les « droits » avec jeedom… Etant donné qu’il ne semble y avoir besoin que d’une propriété " REMOTE_USER", je vois pas comment ne faire que simplement le distinguo admin/user classique…

Bref, à mon sens du LDAP sur jeedom, ça n’a pas de sens de toute façon

pour moi cela à du sens en entreprise.

Je suis d’accord avec vous sur le fonctionnement d’un LDAP.

Mais comment gérer les utilisateurs aillant le droit de ce connecter à jeedom ou non ? C’est la le floux.

De plus désactiver les user locaux, ne semble pas être bon non plus. Comment faire si l’ad est injoignable ? il y a toujours des comptes locaux en entreprise.

Merci pour votre aide

Il n’y a que le filtre qui peut faire ce travail à mon avis…

C’est pour ça que je pense que ça n’a justement pas de sens, y compris en entreprise :

  1. Un AD pas dispo c’est rare (ou du moins il y a redondance/jeton etc). Sinon il faut revoir l’archi
  2. Sauf à avoir des milliers de comptes, je vois pas pourquoi passer par un annuaire. C’est beaucoup plus simple de gérer 10 comptes à la main.
  3. Si le fonctionnement Jeedom est critique (ce qui semble être le cas vu les commentaires), alors il faut d’autant plus vérifier QUI a réellement besoin de s’y connecter. Et on reboucle sur les 2 points précédents

Le seul cas avantage du LDAP, c’est éventuellement le SSO, mais encore là ça s’adresse à mon sens à une poignée d’individus avec un niveau technique suffisant.

Hello,

Oui mais entre les comptes des switchs, des serveurs hors domaines, des applis très spécifiques, etc… C’est pas mal de pouvoir utiliser son compte de domaine.
La raison vient peut-être de là.

C’est exactement ce que je dis dans la dernière phrase en parlant du SSO.

Mais là c’est du confort et pas de la criticité. Et tu peux utiliser plein d’autres moyens : restrictions IP sur apache, LDAP sur apache …

Et même dans ce cas là, avec un AD, tu bascules entre ton compte « normal » et ton compte « admin » …

Oui, c’est vrai, je suis passé un peu vite.
Ma foi… A part être d’accord avec toi, que dire de plus? :slight_smile:

Exact. Une appli web, ca fait sens derrière un sso. Pas un AD.
C’est a ça que sert le remote_user qu’un AD seul ne sait pas géré.
En plus le sso permet de gérer l’accès a l’appli aussi, pas besoin pour jeedom de tester une appartenance.

Après sans avoir besoin de douzaines de compte, a la maison en famille quand on a quelques ados, ça peut devenir plus facile. Des solutions faciles existent type yunohost. Quand mes monstres auront atteint cette phase de croissance, je redeploierait sûrement pour gérer en central les profils aux différentes apps

Oui, ça peux être sympa, j’y vois plus un amusement pour l’admin qu’un véritable besoin (j’ai pas de génération 2 à la maison) : c’est pas l’usage majoritaire et ça reste surtout un usage que n’exploite pas notre fameuse Mme Michu :wink:

Je suis d’accord avec vous sur le fait que c’est du confort, peut-être inutile, mais la fonctionnalité existe et j’aime bidouiller :blush:

D’où ma requête.

Merci pour vos réponses en tout cas.

Si quelqu’un a une doc plus complète je suis preneur.

Merci encore :wink:

La connexion Ldap permet simplement de ne gérer les compte que dans l’ad.

Si on désactive un user, cela ne le désactive pas dans jeedom.
Si on change son mdp sur son pc, cela ne le change pas sur jeedom.

TU m’indique que l’ad doit être redondé, ok mais jeedom ne permet de ne mettre que un seul serveur active directory dans la config …

on ne cherche pas à débattre de pourquoi utiliser LDAP, mais comment configurer le LDAP de jeedom.

Si quelqu’un à réussit à faire fonctionner cette option, merci de nous en faire le partage.

J’imagine que le message est pour moi ?

ça dépend encore une fois de combien de comptes on parle… de combien de modifications par jour etc… c’est cher payé comme infra pour une poignée…

Un compte, peut être désactivé sur Jeedom… Alors oui c’est 2 actions au lieu d’1. Mais pour les même raisons qu’au dessus, on parle de combien de comptes et d’activité ?
Quant à changer son mot de passe sur le PC => là on parle de SSO ! L’AD/LDAP, c’est un petit morceau de tout l’ensemble

Il y a des tas de moyens de faire de la redondance avec 1 seule adresse… Gestion des rôles primaires, VIP+Loadbalancer, … Donc oui si on veut que ça marche tout le temps c’est une archi encore plus lourde. Et si j’évoque cette partie, c’est parce que tu sembles avoir besoin d’un accès à Jeedom, même quand l’AD est en panne… Ici clairement : pas d’AD accessible = pas de jeedom

C’est vrai également. Si tu penses que la solution est le LDAP, sans doute. Moi j’y vois plus une source d’ennuis et de complexité qu’un gain de temps/productivité. Ca ne gérera pas les rôles (admin ou utilisateurs) de tes comptes (il faut du SSO). Mais je me trompe probablement il n’y a que toi qui connait ton besoin et ton archi…

Tu as une explication de la mécanique dans ma première réponse. C’est pas la config, mais ça devrait te permettre de la faire… LDAP, c’est un standart protocolaire, les filtres notamment sont bien précis.
Je peux pas faire mieux … Je n’ai ni sso, ni ad à associer à mon jeedom.
Teste, fait un retour et ta procédure sera écrite et validée

Salut, je reviens sur le sujet, en fait l’ad c’est pas forcément un truc compliqué, j’ai un syno et on peut installer en deux coup de cuillère a pot un AD ou un LDAP.
En l’occurence je l’utilise pour centraliser la gestion des utilisateurs, j’y branche notamment mes VMs mais aussi les PCs portables.
Bref du coup j’avoue que la fonctionnalité de pouvoir brancher jeedom sur l’AD/LDAP m’interresse bp depuis plusieurs années d’ailleurs mais je n’ai jamais réussi à la faire marcher. Qui plus est le LDAPS ne semble pas pris en compte, et c’est bien dommage.
Idéalement il faudrait pouvoir avoir la possibilité de mixer les comptes locaux-AD/LDAP c’est un truc qui se fait avec d’autres systèmes (type drupal par exemple).

Je suis dispo si qqn est capable de me donner un peu d’info pour debugger le truc ou même enrichir le dev du connecteur :slight_smile:

Bonjour,

Je suggère de lire cet autre fil de lecture sur le même sujet.

Il y a un PR en attente pour les autorisations.

Super cela, c’est sur Jeedom bêta?

Merci aux contributeurs

Bonjour !

Je me permets d’intervenir après quelques heures de recherche sur la question.
Nous avons un Active Directory et nous n’arrivions pas à faire fonctionner la connexion LDAP depuis Jeedom.
Nous avons essayé de passer Jeedom en version Alpha pour obtenir la solution de LetMeR00t mais cela ne fonctionnait toujours pas. ([LDAP] Test réussi mais connexion impossible - #9 par henribi)
Apres avoir regarder les modification de LetMeR00t sur le GitHub ([LDAP] Some features by LetMeR00t · Pull Request #1639 · jeedom/core · GitHub) nous nous sommes décidé a trifouiller dans le code de Jeedom pour faire fonctionner cette connexion :muscle:
Voici la copie d’écran de notre conf graphique :
Le serveur étant en Qualif l’adresse IP n’est pas masquée.

Pour la connexion vers l’UO Users qui est Built-In microsoft on utilisera dans BaseDN : cn=Users,dc=Sub,dc=local
Sub & local étant propre à votre Active Directory.

Si vous souhaitez créer une autre UO plus spécifique on utilisera : ou=MonUO,dc=Sub,dc=local

Ensuite je vous conseille d’utiliser le superbe plugin JeeXplorer car on va aller modifier une petite ligne de code dans un fichier. (Je rappelle que cela est pour une connexion avec Active Directory).
Une connexion LDAP linux doit fonctionner, je n’ai pas testé.

Téléchargez le fichier suivant : /html/core/class/user.class.php ou Editez le grâce à JeeXplorer.
Ouvrez-le dans un éditeur de fichier (Type « NotePad++ » ou « Visual Studio Code ») pour ceux qui l’on téléchargé.

Pour la version Stable de Jeedom (4.0.56 à l’heure où j’écris)
Dans la fonction connect, à la ligne 65 vous avez un test :
if (!ldap_bind($ad, 'uid=' . $_login . ',' . config::byKey('ldap:basedn'), $_mdp))

Modifiez cette ligne par :
if (!ldap_bind($ad, 'cn=' . $_login . ',' . config::byKey('ldap:basedn'), $_mdp))

Active Directory n’utilisant pas de uid la condition n’est jamais validée et vos utilisateurs ne sont pas importé dans Jeedom.

Pour la version Alpha (4.1.9)
Dans la fonction connect, à la ligne 65 vous avez un test :
if (ldap_bind($ad, 'uid=' . $_login . ',' . config::byKey('ldap:basedn'), $_mdp))

Modifiez cette ligne par :
if (ldap_bind($ad, 'cn=' . $_login . ',' . config::byKey('ldap:basedn'), $_mdp))

Réimportez ensuite votre fichier au même endroit. Si vous avez quelque réticence commentez la ligne que l’on modifie. Ou faites une copie de votre fichier initial.

Ensuite re-testez votre liaison Active Directory et faites un test avec l’un de vos user présent dans l’UO que vous avez choisie :stuck_out_tongue:

La connexion devrait se valider et vous devriez arriver sur l’interface du Jeedom avec votre utilisateur AD.

Petite Update.
Nous sommes repassé en version stable pour tester.

Toujours dans le même fichier de conf, la condition ligne 72 nous bloque pour l’authentification car pas de retour.
Un problème avec le filtre, mais j’ai beau tester différents filtres ils ne sont jamais valides.

Pour palier temporairement et souhaitant tout de même que l’on s’authentifie avec l’Ad nous avons modifié la ligne 70 plaçant le résultat dans la variable result.
Tout les utilisateurs de l’AD seront donc ADMIN du Jeedom.

Remplacer donc la ligne :
$result = ldap_search($ad, config::byKey('ldap::usersearch') . '=' . $_login . ',' . config::byKey('ldap:basedn'), config::byKey('ldap:filter'));

Par :
$result = ldap_search($ad, config::byKey('ldap:basedn'), config::byKey('ldap::usersearch') . '=' . $_login );

La condition est donc validée car result retourne des objets :stuck_out_tongue:

J’attends avec impatience l’ajout dans la stable

Bonjour Nikk0, bonjour à tous,

Je suis passé de Synology ldap server qui fonctionnait tres bien avec mon jeedom sur virtual machine manager, à Synoloy directory server qui ne fonctionne pas .

je recois une erreur dans http.error :
PHP Warning: ldap_bind(): Unable to bind to server: Strong(er) authentication required in /var/www/html/core/class/user.class.php on line 132, refer…

lorsque je teste la connexion.

je ne vois pas tres bien d’ou ca peut venir, j’ai modifier le fichier comme tu as montré. mais rien.

Je ne sais pas trop comment installer le plugin, c’est un peu nébuleux… faut-il simplement copier les sources dans la bonne arborescence ?

Quelqu’un a t’il reussi à faire fonctionner synology directory server sur jeedom. ?

Autre chose, ou puis-je trouver des logs plus détaillés en ssh ?

Merci pour tous,

J’ai tesé mes identifiants de connection à l’ad, ils fonctionnent, le probeme ne vient pas de la je pense.