- Messages : 13
LDAP : Visibilité automatique par site
- chris-042
- Auteur du sujet
- Nouveau membre
Moins
Plus d'informations
il y a 3 ans 3 mois #3721
par chris-042
LDAP : Visibilité automatique par site a été créé par 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
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
Connexion ou Créer un compte pour participer à la conversation.
- Yan
- Developpeur GRR
Moins
Plus d'informations
- Messages : 2115
il y a 3 ans 3 mois #3722
par Yan
Réponse de Yan sur le sujet 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
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
Connexion ou Créer un compte pour participer à la conversation.
- chris-042
- Auteur du sujet
- Nouveau membre
Moins
Plus d'informations
- Messages : 13
il y a 3 ans 3 mois #3725
par chris-042
Réponse de chris-042 sur le sujet 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,
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,
Connexion ou Créer un compte pour participer à la conversation.
- Yan
- Developpeur GRR
Moins
Plus d'informations
- Messages : 2115
il y a 3 ans 3 mois #3731
par Yan
Réponse de Yan sur le sujet 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
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
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();
N'hésitez pas à anonymiser les données personnelles dans votre réponse, ce qui importe est le format des données.
Cordialement,
YN
Connexion ou Créer un compte pour participer à la conversation.
- chris-042
- Auteur du sujet
- Nouveau membre
Moins
Plus d'informations
- Messages : 13
il y a 3 ans 2 mois #3741
par chris-042
Réponse de chris-042 sur le sujet 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.
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.
Connexion ou Créer un compte pour participer à la conversation.
- chris-042
- Auteur du sujet
- Nouveau membre
Moins
Plus d'informations
- Messages : 13
il y a 3 ans 2 mois #3742
par chris-042
Réponse de chris-042 sur le sujet 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.
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.
Connexion ou Créer un compte pour participer à la conversation.
- Yan
- Developpeur GRR
Moins
Plus d'informations
- Messages : 2115
il y a 3 ans 2 mois #3757
par Yan
Réponse de Yan sur le sujet 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 :
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
Pouvez-vous tester ?
Cordialement,
YN
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"))
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')
Cordialement,
YN
Connexion ou Créer un compte pour participer à la conversation.
- chris-042
- Auteur du sujet
- Nouveau membre
Moins
Plus d'informations
- Messages : 13
il y a 3 ans 2 mois #3817
par chris-042
Réponse de chris-042 sur le sujet 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
)
)
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
)
)
Connexion ou Créer un compte pour participer à la conversation.
- Yan
- Developpeur GRR
Moins
Plus d'informations
- Messages : 2115
il y a 3 ans 2 mois #3818
par Yan
Réponse de Yan sur le sujet 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
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
Connexion ou Créer un compte pour participer à la conversation.
- Yan
- Developpeur GRR
Moins
Plus d'informations
- Messages : 2115
il y a 3 ans 2 mois #3832
par Yan
Réponse de Yan sur le sujet 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 :
après ligne 1213 :
puis remplacer la ligne 1216 par :
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
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] : '';
Code:
$l_rne = utf8_decode($l_rne);
Code:
return array($l_nom, $l_prenom, $l_email, $l_rne);
La connexion devrait être rétablie.
Ensuite, voir comment récupérer l'information 'rne'. Voyez-vous une stratégie ?
Cordialement,
YN
Connexion ou Créer un compte pour participer à la conversation.
Modérateurs: Yan