Authentification CAS > attribut LOWER CASE

Authentification CAS > attribut LOWER CASE

par Anne Garnavault Remy,
Nombre de réponses : 9
Bonjour

Nous avons rencontré un gros problème sur notre plateforme dernièrement :
Le fait d'avoir visionné dans l'administration l'authentification "Serveur CAS (SSO)" et d'avoir cliqué sur Enregistrer, sans avoir modifié aucun élément a passé le paramètre Configuration de la consultation utilisateurs > Attribut utilisateur, en minuscule.  Résultat l'attribut utilisateur 'supannAliasLogin' est passé à 'supannaliaslogin'.

Nous utilisons le script sync_cohort_attribute.php développé par P.Pollet . Ce script est lancé via un cron toutes les nuits et alimente nos cohortes d'étudiants. Il fonctionne parfaitement. Le filtre construit est celui ci:
looking for (&(&(supannAliasLogin=*)(objectclass=ucbnEtu))(supannEtuEtape=*))
Il est passé à:
looking for (&(&(supannaliaslogin=*)(objectclass=ucbnEtu))(supann

Le cron dans la nuit nous a par conséquent vidé toutes les cohortes et les groupes de cours ayant la méthode d'inscription 'Synchronisation des cohortes'. Bref, une catastrophe...

Nous avons pu réagir en restaurant le paramètre à l'état initial directement dans la table mdl_config_plugin et en restaurant les tables concernées.
Mais nous devons absolument corriger ça pour que ça ne se reproduise pas. 
Nous avons trouvé dans le tracker ce problème pour l'authentification LDAP https://tracker.moodle.org/browse/MDL-28402
Nous avons constaté que ce n'est pas corrigé ni sur auth/LDAP , ni sur auth/CAS.
Avez vous déja rencontré ce problème, est-ce que certains ont su le corriger?
Merci de vos réponses,

Anne et Emilie

Moyenne des évaluations  -
En réponse à Anne Garnavault Remy

Re: Authentification CAS > attribut LOWER CASE

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour Anne,

Effectivement, c'est le genre de "mauvaise blague" plutôt gênante triste

Il manque une information importante : quelle est votre version exacte de Moodle ?

Le bogue en question est fermé depuis bien longtemps, il faudrait voir s'il en existe un plus récent, ou en créer un.

Tu peux aussi regarder les derniers modifications pour Moodle 2.7 liées à CAS ou liées à LDAP.

A noter que je ne constate pas ce problème sur la dernière version 2.7.2+

Séverin

En réponse à Séverin Terrier

Re: Authentification CAS > attribut LOWER CASE

par Anne Garnavault Remy,

Bonjour

Nous avons effectivement trouvé  les deux lignes à  modifier  sur les fichiers auth/cas/auth.php et auth/ldap/auth.php.

Ce que je ne comprends pas c'est pourquoi on repasse ce paramètre en lowercasse, il doit y avoir une raison pour les dev de moodle.

Je suis en train de faire des tests sur notre plateforme de test...

@Severin : M2.6.2 et rien vu de tel sur les deux liens concernant les modifications. 

Merci

En réponse à Séverin Terrier

Re: Authentification CAS > attribut LOWER CASE

par Bruno Malaval,
Avatar Moodleurs particulièrement utiles

Bonjour Anne,


J'utilise également le script de Patrick Pollet, et même problème en ce qui concerne l'attribut désignant le nom de l'utilisateur. J'ai eu toutes mes cohortes vidées ... œil au beurre noir

Je l'ai corrigé dans son fichier locallib.php, le problème est connu

Dans le fichier locallib.php, il y a le paragraphe :


         /** Moodle DO convert to lowercase all LDAP attributes in setting screens
         * this cause an issue when searching LDAP group members when user's naming attribute
         * is in mixed case in the LDAP , such as sAMAccountName instead of samaccountname
         * If your cohorts are not populated by this script try setting this value
         */

j'ai donc ajouté la ligne

        $extra->real_user_attribute='eduPersonPrincipalName' ;

juste avant le paragraphe cité ci-dessus => problème résolu ...

(eduPersonPrincipalName étant pour nous l'attribut contenant le 'username' de nos utilisateurs)

Moyenne des évaluations Utile (2)
En réponse à Bruno Malaval

Re: Authentification CAS > attribut LOWER CASE

par Patrick Pollet,

Hé bonjour à tous,

        Ravi d'apprendre que mon petit script continue à rendre service malgré la mésaventure de Anne triste  et un peu navré de constater qu'il n' a pas été inclus dans le 'core' comme l'on été les versions pour Mahara, ce qui aurait surement permis une maintenance plus réactive... Mais bon , c'est la vie et la, après un an de retraite  j'avoue que j'ai perdu l'envie de me bagarrer à nouveau avec php ...

 @severin : le bug signalé plus haut a été fermé en Aout 2011 avec le message :

With respect to being unable to save settings in upper/mixed case, as I stated above, this is intentional. It shouldn't pose a problem (unless there are other bugs like this one remaining in the code). In fact, it prevents quite a few problems, so that's why they are forced to lowercase on saving changes to the settings....

Il semblerait donc qu'il n'y a pas à y revenir... et la conversion en minuscule est toujours présente dans le code de Moodle 2.7.2+ (Build: 20141002)

@bruno : plutôt que de modifier le code de locallib.php et risquer de tout perdre lors d'une MAJ tu devrais utiliser le réglage spécifique 'Classe réelle des utilisateurs' dans Administration du site -> Plugins -> Plugins locaux -> Scripts de synchronisation LDAP  (voir copie écran ou la doc sur le wiki   https://github.com/patrickpollet/moodle_local_ldap/wiki ) qui avait été ajouté justement pour gérer ce problème.  Si tu a une version plus ancienne, qui ne propose pas d'écran de configuration, glisser dans config.php 

$CFG->real_user_attribute='eduPersonPrincipalName' ; 

devrait faire l'affaire.


Amical souvenir de la Vendée 

alt

Moyenne des évaluations Utile (1)
En réponse à Séverin Terrier

Re: Authentification CAS > attribut LOWER CASE

par Anne Garnavault Remy,

Bonjour

Nous avons ré-ouvert un ticket dans le tracker :

https://tracker.moodle.org/browse/MDL-48037.

Merci a tous de votre réactivité et bises en Vendée pour le retraité ;) 

Anne

En réponse à Anne Garnavault Remy

Re: Authentification CAS > attribut LOWER CASE

par Gaël Mifsud,

Bonjour,


De mon côté, je n'utilise pas le script de synchronisation, mais pour même simplement pouvoir utiliser l'authentification CAS, je suis "forcé" de patcher auth/cas/auth.php de la façon suivante :

La ligne 408 (du bloc "// save LDAP settings") passe de :
set_config('user_attribute', core_text::strtolower(trim($config->user_attribute)), $this->pluginconfig);
à
set_config('user_attribute', trim($config->user_attribute), $this->pluginconfig);

Sinon, effectivement, dès que je sauve la page de conf du CAS, le paramètre user attribute passe - fort logiquement - en minuscules.

Moyenne des évaluations Utile (2)
En réponse à Gaël Mifsud

Re: Authentification CAS > attribut LOWER CASE

par Emilie Lenel,

Bonjour,

Notre ticket sur le tracker a été pris en considération, et nous avons été contacté par un développeur pour tester notre bug et identifier patch adéquat.  Depuis plusieurs mois, nous utilisons un autre script spécifique, développé en interne par notre DSI, pour gérer la synchronisation des cohortes spécifiquement pour l'université.

Du coup, ce n'est plus un problème pour nous que Moodle repasse en minuscule le SupannAliasLogin.

Alors, avant de leur dire de fermer le ticket, pouvez-vous nous indiquer si c'est toujours un problème pour vous ? Je vois par exemple que Gaël avait le problème même sans utiliser le script de synchronisation.

Merci

Emilie

En réponse à Emilie Lenel

Re: Authentification CAS > attribut LOWER CASE

par Gaël Mifsud,
Je viens de vérifier, et à priori les attributs sont désormais en minuscules chez nous.
Je n'ai donc normalement plus besoin de patcher l'authentification (je viens d'essayer sur une instance de test).

Le ticket peut donc être clos en ce qui nous concerne.
Merci d'avoir fait remonter l'info, Émilie. approbateur