LDAP integration : code PHP pour filtrer les utilisateurs sur leurs données LDAP

Bonjour à tous,

J’utilise le module ldap_integration avec succès sur mon installation.

Seulement je souhaite filtrer les utilisateurs en fonction d’un champs précis présent dans leur compte ldap : «enabledService=drupal», ainsi seuls les utilisateurs disposant de ce champ seront autorisés à se connecter. J’ai essayé un grand nombre de chose, mais n’étant pas très doué en PHP, je n’arrive à rien.

Quelqu’un aurait-il une solution à me proposer ?

Merci.

#

ps. Je précise que enabledService est une valeur multiévaluée, un utilisateur pourra ainsi avoir :

  • enabledService=mail
  • enabledService=http
  • enabledService=ftp
  • etc ...
#

up

Personne pour m’aider ?

#

Est-ce que tu peux préciser ce que tu veux dire par filtre ?

Je comprends «n’autoriser à se connecter que les personnes ayant l’attribut positionné à drupal». C’est ça  ?

Il faudrait alors ajouter un filtre LDAP sur l’attribut enablesservice=drupal.
Dans le module ldapauth.module, ça se situe du côté de la ligne 445. Au lieu de

$filter = $name_attr .'='. $login_name;

il faudrait avoir :

$filter = '(&(enabledservice=drupal)('.$name_attr .'='. $login_name.'))';

=> c’est la syntaxe des filtres LDAP

Ou est-ce plus proche d’une gestion de rôles dans drupal ?

#

Salut,

C’est exactement ce que je souhaite, par contre dans le bloc de configuration du module il est possible de préciser ce filtre au format PHP, c’est ce que je voulais faire, mais ta solution fonctionne parfaitement.

Merci

PS Comment on passe le topic en résolu ?

Syndiquer le contenu