Projet

Général

Profil

Evolution #13939

Correction du pb de casse dans le wpcas

Ajouté par Renaud Dussol il y a plus de 8 ans. Mis à jour il y a plus de 7 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
Début:
05/11/2015
Echéance:
% réalisé:

100%

Distribution:
EOLE 2.5

Description

Ces modifs permettent de faire focntionner l'autoconnect correctement en inscrivant d'abord tous les users en minuscule et en évitant ensuite les vérifications entre un id phpCAS contenant des majuscules et un compte WP en minuscules

Attention, c'est sur un eole 2.3 avec le WP 3.9.2

Le fichier à modifier est wpcas.php (dans wp-content/plugins)

Remplacer la ligne dans is_user_logged_in() :

$test = (!$existe_wordpress_user || !$existe_cas_user) ? : ($user->user_login==$_SESSION["phpCAS"]["user"]);
par
$test = (!$existe_wordpress_user || !$existe_cas_user) ? : ($user->user_login==strtolower($_SESSION["phpCAS"]["user"]));

Puis dans is_admin_logged_in :

if(!EolephpCAS::isAuthenticated() || $user->user_login!=EolephpCAS::getUser())
par
if(!EolephpCAS::isAuthenticated() || $user->user_login!=strtolower(EolephpCAS::getUser()))

Puis dans la classe wpCAS, fonction authenticate :

$login = $attributs['utilisateur']['user'][0];
par
$login = strtolower($attributs['utilisateur']['user'][0]);

Puis sans la fonction auto_connect :

$cas_user=EolephpCAS::getUser();
par
$cas_user=strtolower(EolephpCAS::getUser());

Révisions associées

Révision 302ef055 (diff)
Ajouté par Arnaud Fornerot il y a plus de 7 ans

gestion de la case des login wp (fixes #13939)

Historique

#1 Mis à jour par Renaud Dussol il y a plus de 7 ans

  • Version cible mis à Envole 5.3
  • Distribution changé de EOLE 2.3 à EOLE 2.5

Pb tjs présent en EOLE 2.5.2, envole 5 et wp 4.6
Après install, on se connecte avec un user dont l'uid LDAP comporte des majuscules (RDussol)
Le user créé dans la base wp est 'rdussol'
La comparaison étant sensible à la casse, RDussol != rdussol, donc le user rdussol n'est pas accepté. L'authentification renvoie sur eolesso, qui répond qu'un ticket pour ce user et pour cette appli existe déjà, et renvoie vers l'appli, ce qui génère une boucle de redirection

#2 Mis à jour par Anonyme il y a plus de 7 ans

  • Statut changé de Nouveau à Résolu
  • % réalisé changé de 0 à 100

#3 Mis à jour par Arnaud FORNEROT il y a plus de 7 ans

  • Statut changé de Résolu à Fermé

Formats disponibles : Atom PDF