- Posts: 13
LDAP : Visibilité automatique par site
- chris-042
- 
            
				 Topic Author Topic Author
- New Member
- 
              
        Less
        More
        
            
    
        
            
        
                4 years 2 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 
    
    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
- 
              
        Less
        More
        
            
    
        - Posts: 2259
            
        
                4 years 2 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
    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 Topic Author
- New Member
- 
              
        Less
        More
        
            
    
        - Posts: 13
            
        
                4 years 2 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,
    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
- 
              
        Less
        More
        
            
    
        - Posts: 2259
            
        
                4 years 2 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
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
Please Log in or Create an account to join the conversation.
- chris-042
- 
            
				 Topic Author Topic Author
- New Member
- 
              
        Less
        More
        
            
    
        - Posts: 13
            
        
                4 years 2 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.
    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 Topic Author
- New Member
- 
              
        Less
        More
        
            
    
        - Posts: 13
            
        
                4 years 2 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.
    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
- 
              
        Less
        More
        
            
    
        - Posts: 2259
            
        
                4 years 2 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 :
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
Please Log in or Create an account to join the conversation.
- chris-042
- 
            
				 Topic Author Topic Author
- New Member
- 
              
        Less
        More
        
            
    
        - Posts: 13
            
        
                4 years 1 month 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
)
)
    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
- 
              
        Less
        More
        
            
    
        - Posts: 2259
            
        
                4 years 1 month 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
    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
- 
              
        Less
        More
        
            
    
        - Posts: 2259
            
        
                4 years 1 month 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 :
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
Please Log in or Create an account to join the conversation.
        Moderators: Yan