PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio â†’ WINDEV 2025 â†’ LDAP - OpenLDAP
LDAP - OpenLDAP
Iniciado por afalgayrac, 22,sep. 2006 11:33 - 15 respuestas
Publicado el 22,septiembre 2006 - 11:33
Les Fonctions LDAP fonctionnent elles sous OpenLDAP....
Si oui que faut il faire ?
si Non avez vous une astuce ?

Merci

Alain FALGAYRAC
Miembro registrado
9 mensajes
Publicado el 13,noviembre 2013 - 18:43
je me pose la meme la question et je trouve rien !
Publicado el 18,noviembre 2013 - 16:52
1. Création d'un fichier ldif.
2. Création d'un script sur le serveur web qui s'occupera de l'intéger dans l'annuaire.
Miembro registrado
163 mensajes
Publicado el 18,noviembre 2013 - 19:15
Bonjour,

Les fonctions LDAP de WD fonctionne avec OpenLDAP, il suffit de faire une authentification via synthaxe DN au lieu du login.

--
Manuel Santisteban,
Création de sites internet & logiciels
www.xenero-developpement.com
Miembro registrado
344 mensajes
Publicado el 18,noviembre 2013 - 19:52
Bonjour
Manuel un petit exemple de code serait le bien venue
merci d'avance

--
Alain PETTITI
Miembro registrado
9 mensajes
Publicado el 19,noviembre 2013 - 19:38
Manuel un bout de code !
Miembro registrado
9 mensajes
Publicado el 19,noviembre 2013 - 19:58
yes ca marche !

//On remplit la structure LDAP
LDAPSession.Hôte = "tonserveur"
LDAPSession.Utilisateur = "cn=atonuser,dc=XXX,dc=XX,dc=XXX" // METTRE TOUTE LA CHAINE DE CNX AU COMPLET !
LDAPSession.MotDePasse = "tonpassword"
LDAPSession.Port = 389
LDAPSession.Version = 3
//Tentative de connexion
SI LDAPConnecte(gsSessionLDAP) ALORS
Info("YES")
SINON
Info(ErreurInfo())
FIN
Miembro registrado
163 mensajes
Publicado el 20,noviembre 2013 - 11:05
Bonjour,

Comme quoi c'est pas bien compliqué.

Bien joué SIN@I

--
Manuel Santisteban,
Création de sites internet & logiciels
www.xenero-developpement.com
Miembro registrado
9 mensajes
Publicado el 20,noviembre 2013 - 15:29
Je veux maintenant modifié le password now d'un user ! une idée ?
Miembro registrado
163 mensajes
Publicado el 20,noviembre 2013 - 16:42
Là par contre, je ne pense pas que cela soit possible via les fonction WD LDAP... Enfin peut-être que si mais je n'ai pas la solution. En OpenLDAP sa doit être userpassword mais c'est crypté en SHA1 via une clé je crois bien.

Si quelqu'un à la solution que sa soit pour OpenLDAP ou AD je suis preneur.

--
Manuel Santisteban,
Création de sites internet & logiciels
www.xenero-developpement.com
Miembro registrado
9 mensajes
Publicado el 20,noviembre 2013 - 18:25
j'arrive a le changer ! je doit maintenant gerer le cryptage en le changeant !
Miembro registrado
344 mensajes
Publicado el 20,noviembre 2013 - 18:35
Bonjour a tous

Oui cela est possible
a partir de mon ad j'arrive a avoir des informations
sur l'adresse mail, le nom du user, son matricule paye et toute les infos de notre active directorie
cela n'a pas été très facile au début
car pour m'obliger a utiler un autre outil que WD on avait omis de me donner le nom du user et son mots de passe.

Je ne peux pas vous fournir pour cause de confidentialité les chaines nécessaire au requete LDAP
mais un petit exemple avec des non de domaine caché je peux

Connexion de ma lDAP
m
Procedure FG_LdapConnexion()
LDAPRAZ()
LDAPSession.Hôte=LdapAliasServeur
LDAPSession.Utilisateur =LdapCompteConnection
LDAPSession.MotDePasse=LdapMotDePasse
LDAPSession.Port=389
LDAPSession.Version = 3
SI PAS LDAPConnecte(SessionLdap) ALORS
RENVOYER Faux
SINON
RENVOYER Vrai
FIN


Connexion d'un utilisateur avec son login et son motdepasse

Procedure FG_LDapConnexionAvecLogin(vpc_loginUtilisateur, vpc_motdepasse)
flc_CodeRetour est une chaîne
flc_UtilisateurDn est une chaîne
flc_Login est une chaîne= FG_LdapRechercheDuLogin(vpc_loginUtilisateur)
SI Val(ExtraitChaîne(flc_Login ,1)) = Vrai ALORS
flc_UtilisateurDn = FG_LdapRechercheDisplayNameApartirLogin(vpc_loginUtilisateur)
SI Val(ExtraitChaîne(flc_UtilisateurDn,1)) = Vrai _ET_ SansEspace(ExtraitChaîne(flc_UtilisateurDn,2)) <> "" ALORS
LDAPSession.Hôte=LdapAliasServeur
LDAPSession.Utilisateur ="CN="+SansEspace(ExtraitChaîne(flc_UtilisateurDn,2))+",OU=Utilisateurs xxxx,OU=Utilisateurs,DC=congen06,DC=XXXX,DC=fr"
LDAPSession.MotDePasse=SansEspace(vpc_motdepasse)
LDAPSession.Port=389
LDAPSession.Version = 3
SI PAS LDAPConnecte(SessionLdap) ALORS
flc_CodeRetour=Faux+TAB+"Mot de passe Invalide"
SINON
flc_CodeRetour=Vrai+TAB+"OK"
FIN
LDAPDéconnecte(SessionLdap)
SINON
flc_CodeRetour= Faux+TAB+"Utilisateur inconnu"
FIN
SINON
flc_CodeRetour=Faux+TAB+"Utilisateur inconnu"
FIN
RENVOYER flc_CodeRetour


controle de presence d'un groupe applicatif
ce qui permet d'autoriser a un utilisateur une application

Procedure FG_LdapControleLoginPresentDansGroupeApplicatif(vpc_groupeApplicatif , vpc_login)
flc_CodeRetour est une chaîne
flc_ListeUtilisateur est une chaîne
flc_ListeUtilisateur= FG_LdapRechercheDesLoginsDuGroupeApplicatif (vpc_groupeApplicatif)
SI Val(ExtraitChaîne(flc_ListeUtilisateur,1)) = Vrai ALORS
SI Position(flc_ListeUtilisateur,"/"+vpc_login+"/",1,DepuisDébut+SansCasse) = 0 ALORS
flc_CodeRetour= Faux+TAB+"Utilisateur "+vpc_login+ " Inconnu du Groupe "+vpc_groupeApplicatif
SINON
flc_CodeRetour= Vrai+TAB+ExtraitChaîne(flc_ListeUtilisateur,2)
FIN
SINON
flc_CodeRetour= flc_ListeUtilisateur
FIN
RENVOYER flc_CodeRetour


recherche des membre d'un groupe applicatif

Procedure FG_LdapRechercheDesLoginsDuGroupeApplicatif( vpc_GroupeApplicatif)
flc_UtilisateurDn est une chaîne
flc_TableauDeDN est un tableau dynamique
flc_TableauDeDN = allouer tableau dynamique de 1 chaîne
flc_ChaineDeFiltre est une chaîne =""
flc_ChaineRechercheLdap est une chaîne =""
clb_AppartientAuGroupe est un booléen=Faux
flc_ChaineFiltrDuTableauDn est une chaîne =""
flc_Login est une chaîne=""
flc_ListeLogin est une chaîne = ""
SI PAS FG_LdapConnexion()
flc_ListeLogin= Faux+TAB+ErreurConnexion
SINON
flc_ChaineDeFiltre = "(&(objectCategory=Group) (sAMAccountName=" +vpc_GroupeApplicatif + "))"
flc_ChaineRechercheLdap =LDAPRecherche(SessionLdap,LdapOuGroupe,flc_ChaineDeFiltre)
SELON flc_ChaineRechercheLdap
CAS "" :
flc_ListeLogin= Faux+TAB+"Groupe " +vpc_GroupeApplicatif+" non trouvé"
AUTRE CAS :
cle_NombreDeMenbreApplicatif est un entier = LDAPNbValeur(SessionLdap, flc_ChaineRechercheLdap, "member")
cle_NombreDeMenbreApplicatifReel est un entier = 0

POUR cle_pour=1 _A_ cle_NombreDeMenbreApplicatif
flc_valeurmembre est une chaîne=UTF8VersChaîne(LDAPValeur(SessionLdap, flc_ChaineRechercheLdap, "member", cle_pour))
SI Position(flc_valeurmembre,LdapOuUtilisateurs,1) > 0 ALORS
cle_NombreDeMenbreApplicatifReel++
Dimension(flc_TableauDeDN,cle_NombreDeMenbreApplicatifReel)
flc_TableauDeDN[cle_NombreDeMenbreApplicatifReel]=flc_valeurmembre
FIN
FIN
flc_ListeLogin=Vrai+TAB+"/"
POUR cle_pour = 1 _A_ cle_NombreDeMenbreApplicatifReel
flc_ChaineDn est une chaîne = flc_TableauDeDN[cle_pour]
flc_ChaineDeFiltre ="(&(objectCategory=person) (objectClass=user) (distinguishedName=" + flc_ChaineDn + "))"
flc_ChaineRechercheLdap = LDAPRecherche(SessionLdap,LdapOuUtilisateur, flc_ChaineDeFiltre)
flc_UtilisateurDn= UTF8VersChaîne(LDAPValeur(SessionLdap, flc_ChaineRechercheLdap, "cn", 1) )
flc_Login =Minuscule(UTF8VersChaîne(LDAPValeur(SessionLdap, flc_ChaineRechercheLdap, "sAMAccountName", 1)))
flc_ListeLogin +=["/"]+ SansEspace(flc_Login) +"/"
FIN
Libérer flc_TableauDeDN
FIN
FIN
LDAPDéconnecte(SessionLdap)
RENVOYER flc_ListeLogin

et j'ai mis tout cela dans un composant
Voila j'ai fait du mieux que j'ai pu

--
Alain PETTITI
Miembro registrado
9 mensajes
Publicado el 20,noviembre 2013 - 18:47
j'arrive a le changer ! je doit maintenant gerer le cryptage en le changeant !
Publicado el 12,mayo 2020 - 19:37
Bonjour,

j'ai le même questionnement d'accès à un annuaire ldap soit sur une synology soit sur open Ldap sur debian 9.0

je souhaite contrôler les accès avec l'un ou l'autre des serveurs

c'est pour un site web en mode session (webdev)
'
l'article lu parle de syntaxe native avec les arguments cn=xxxx',dc=securite,dc=xxxxxx,dc=fr';

merci pour vos aides car je galère un peu dans la mise en oeuvre

à bientôt
Miembro registrado
15 mensajes
Publicado el 12,mayo 2020 - 19:54
bonjour à tous,

quand un alain pose un problème et un autre alain répond et qu'un troisième alain ( moi) à le même genre de pb ou de méconnaissance, cela présage d'un difficulté de mise en oeuvre avec OPEN LDAP dans le Monde UNIX/LINUX.

donc je cherche de l'assistance sur ce sujet pour faire une mise en oeuvre simple de 'accès à un annuaire LDAP sous linux dans un site Web fait par WEBDEV.

l'annuaire sera soit sur un synology, soit sur un openLdap sur un serveur dédié ( celui qui hébergera le site en production)


merci à tous pour vos aides
@bientôt
Miembro registrado
15 mensajes
Publicado el 15,mayo 2020 - 18:47
Hello,

Après de nombreux essai je n’ai pas réussi à mettre en place le Ldap donc. Je me suis rabattu sur la solution groupeware en mode fichier. Hfsql Et c’est good

Dès que j’aurais règlé. Mes problèmes d’accèS mon annuaire ldap synology je branche le groupeware WEBDEV dessus

Pour l’instant en. Telnet. Accès. Au serveur port 389 ou 636 ok

Par l’outil LDAPSOFT ok. Sur la base. Ok sur le serveur. Ok sur LE ROOT. Mais, Ko sur. L’affichage de l’arbre/structure c’est une version de démo sans licence.

Le Logiciel fonctionne bien sur les serveurs de test

Une âme charitable a t il un outil de test des ldap Linux. Ou un lien, je suppute un problème avec MON SYNOLOGY entre la chaise et le clavier.


@+