LDAP : Visibilité automatique par site

  • chris-042
  • Topic Author
  • New Member
  • New Member
More
2 years 8 months ago #3721 by chris-042
LDAP : Visibilité automatique par site was created by chris-042
Bonjour à tous,
J'essaye de paramétrer GRR pour généraliser l'outil sur notre site, qui comporte beaucoup de sites géographiques.
Pas de problème pour créer les sites et les administrateurs de sites, en revanche, lorsqu'un utilisateur se connecte, je cherche à lui donner la possibilité de poser des réservations uniquement sur les ressources du site auquel il est affecté dans l'annuaire.
Dans l'annuaire, un attribut indique son site de rattachement, j'ai utilisé le même code pour créer les sites. Est-ce possible ?

Sinon, peut être par un script de synchronisation de l'annuaire avec la base de données ?

Merci :)

Please Log in or Create an account to join the conversation.

  • Yan
  • Developpeur GRR
  • Developpeur GRR
More
2 years 8 months ago #3722 by Yan
Replied by Yan on topic LDAP : Visibilité automatique par site
Bonjour,
il n'y a pas actuellement de fonction de rattachement des utilisateurs à un site, à la différence des notions de domaine restreint (historique) ou de ressource restreinte (introduite en 3.4.2).
Cependant je suis disposé à étudier votre demande à temps perdu. Il faudrait que vous précisiez le nom de l'attribut LDAP, certainement multivalué, qui détermine l'accès à un site.
Je pense que cette nouvelle fonctionnalité ne devrait pas être trop complexe à développer :-)
À suivre.
Cordialement,
YN

Please Log in or Create an account to join the conversation.

  • chris-042
  • Topic Author
  • New Member
  • New Member
More
2 years 8 months ago #3725 by chris-042
Replied by chris-042 on topic LDAP : Visibilité automatique par site
Bonjour,
Très bonne nouvelle.
Il s'agit en effet d'un attribut LDAP multivalué, chez nous il s'appelle "rne" mais je pense que son nom doit être paramétrable dans un fichier de configuration par exemple.

Merci.

Bien cordialement,

Please Log in or Create an account to join the conversation.

  • Yan
  • Developpeur GRR
  • Developpeur GRR
More
2 years 8 months ago #3731 by Yan
Replied by Yan on topic LDAP : Visibilité automatique par site
Bonjour,
je pense qu'il faudrait commencer par s'assurer que cet attribut est bien récupéré par GRR.
A priori, c'est la fonction grr_getinfo_ldap, ligne 1179 du fichier session.inc.php, qui procède à la lecture des attributs LDAP.
Je propose d'insérer après la ligne 1199 le code
Code:
print_r($info); die();
ce qui va casser la connexion à GRR, mais devrait afficher à l'écran les informations recueillies depuis l'annuaire pour un utilisateur donné.
N'hésitez pas à anonymiser les données personnelles dans votre réponse, ce qui importe est le format des données.
Cordialement,
YN

Please Log in or Create an account to join the conversation.

  • chris-042
  • Topic Author
  • New Member
  • New Member
More
2 years 8 months ago #3741 by chris-042
Replied by chris-042 on topic LDAP : Visibilité automatique par site
Bonjour,
Je viens d'ajouter les lignes dans le fichier de code, mais rien n'apparait à l'écran, pourtant le module LDAP et SSO sont bien activés et la connexion fonctionne.

Please Log in or Create an account to join the conversation.

  • chris-042
  • Topic Author
  • New Member
  • New Member
More
2 years 8 months ago #3742 by chris-042
Replied by chris-042 on topic LDAP : Visibilité automatique par site
J'ai désactivé le SSO pour que cela fonctionne, en revanche, seuls les attributs configurés dans GRR s'affichent :
Array
(
[count] => 1
[0] => Array
(
[sn] => Array
(
[count] => 1
[0] => usertest2
)

[0] => sn
[givenname] => Array
(
[count] => 1
[0] => usertest2
)

[1] => givenname
[mail] => Array
(
[count] => 1
[0] => usertest2@xxxx.fr
)

[2] => mail
[count] => 3
[dn] => uid=usertest2,ouxxx, c=fr
)

)
Ceci dit, comme on utilise le SSO, les données sont aussi dans les entêtes HTTP, de ce fait, on peut aussi ajouter ce paramétrage dans la partie SSO / Prise en compte d'une authentification HTTP à l'endroit ou l'on indique les données pour le Nom / Prénom / Email .

Je ne sais pas lequel est le plus facile, pour nous c'est pareil, les données utiles du LDAP sont injectées dans les entêtes HTTP.

Please Log in or Create an account to join the conversation.

  • Yan
  • Developpeur GRR
  • Developpeur GRR
More
2 years 8 months ago #3757 by Yan
Replied by Yan on topic LDAP : Visibilité automatique par site
Bonjour,
tout d'abord je vous prie de m'excuser pour cette réponse tardive.
Je préférerais qu'on reste dans le cadre LDAP.
Je vois dans le code de session.inc.php, ligne 1192 :
Code:
array(Settings::get("ldap_champ_nom"),Settings::get("ldap_champ_prenom"),Settings::get("ldap_champ_email"))
et le résultat que vous donnez ne semble pas contenir de mail valable. Est-ce voulu ?
Pour récupérer votre champ 'rne', peut-être suffit-il d'insérer ce nom de champ dans le tableau, soit
Code:
array(Settings::get("ldap_champ_nom"),Settings::get("ldap_champ_prenom"),Settings::get("ldap_champ_email"),'rne')
Pouvez-vous tester ?
Cordialement,
YN

Please Log in or Create an account to join the conversation.

  • chris-042
  • Topic Author
  • New Member
  • New Member
More
2 years 7 months ago #3817 by chris-042
Replied by chris-042 on topic LDAP : Visibilité automatique par site
Bonjour,

Cela fonctionne, l'attribut RNE est bien récupéré avec la bonne valeur, il y a bien aussi l'adresse mail :

Array
(
[count] => 1
[0] => Array
(
[sn] => Array
(
[count] => 1
[0] => usertest1
)

[0] => sn
[givenname] => Array
(
[count] => 1
[0] => usertest1
)

[1] => givenname
[mail] => Array
(
[count] => 1
[0] => UserTest1@xxxx.fr
)

[2] => mail
[rne] => Array
(
[count] => 1
[0] => 0540044E
)

[3] => rne
[count] => 4
[dn] => uid=usertest1,ou=xxxx, c=fr
)

)

Please Log in or Create an account to join the conversation.

  • Yan
  • Developpeur GRR
  • Developpeur GRR
More
2 years 7 months ago #3818 by Yan
Replied by Yan on topic LDAP : Visibilité automatique par site
Bien.
Il faudrait regarder dans GRR du côté des attributs LDAP supplémentaires pour voir si cette fonctionnalité permet de récupérer le rne.
Et aussi comment "accrocher" cet attribut à l'utilisateur.
À suivre...
Cordialement,
YN

Please Log in or Create an account to join the conversation.

  • Yan
  • Developpeur GRR
  • Developpeur GRR
More
2 years 7 months ago #3832 by Yan
Replied by Yan on topic LDAP : Visibilité automatique par site
Bonjour,
il faudra vraisemblablement compléter, mais dans un premier temps, je propose les modifications suivantes, outre celle de la ligne 1192 :
supprimer l'affichage et l'arrêt du script (modifications suivant la ligne 1199),
ajouter après ligne 1206 :
Code:
$l_rne = (isset($val['rne'][0])) ? $val['rne'][0] : '';
après ligne 1213 :
Code:
$l_rne = utf8_decode($l_rne);
puis remplacer la ligne 1216 par :
Code:
return array($l_nom, $l_prenom, $l_email, $l_rne);
En adaptant éventuellement le numéro de ligne pour que ceci garde un sens.
La connexion devrait être rétablie.
Ensuite, voir comment récupérer l'information 'rne'. Voyez-vous une stratégie ?
Cordialement,
YN

Please Log in or Create an account to join the conversation.

Moderators: Yan