Bienvenue, Invité
Nom d'utilisateur : Mot de passe : Se souvenir de moi

SUJET : Activer auth_webserver après la mise à jour de 1.92 à 2.0 (build 130802)

Activer auth_webserver après la mise à jour de 1.92 à 2.0 (build 130802) il y a 7 mois 1 semaine #99761

  • pasglop
  • Portrait de pasglop
  • Hors ligne
  • Fresh Lemon
  • Messages : 12
  • Remerciements reçus 3
  • Karma: 0
Bonjour

Je souhaite mettre à jour ma version 1.92+ (build 120919) avec la dernière version 2.0 stable (build 130802) et récupérer l'usage de la fonction "auth_webserver"

Config de ma 1.92 :

Debian/Mysql/Apache2
AUthentification CAS + dans mon fichier config.php : "$useWebserverAuth = true;"
Puis dans LS, je cré mes utilisateurs avec un mot de passe bidon et cela fonctionne à merveille avec CAS.

Premier test :installation de 2.0 (build 130802) sans recup de la 1.92 :
installation : OK
test de connexion en "admin" : OK
création d'un utilisateur "monnom" : OK
test de connexion en "monnom" : OK
ajout de "'auth_webserver'=>true" dans le config.php : OK
test de connexion en "monnom" (via CAS) : OK
ajout de "'auth_webserver_user_map'=>array('monnom'=> 'admin')" dans le config.php : OK
test de connexion en "monnom" (via CAS) : OK et je suis bien admin


Second test :installation de 2.0 (build 130802) avec recup de la 1.92 :
copie de la base de données 1.92 vers bdlm2 : OK
installation à partir de la source de 2.0 : OK pour la mise à jour
test de connexion en "admin" : OK (après m'avoir renvoyé un nouveau mot de passe car je ne le connaissais plus, CAS prenant le dessus)
test de connexion en "monnom" : OK (après m'avoir renvoyé un nouveau mot de passe car je ne le connaissais plus, CAS prenant le dessus)
ajout de "'auth_webserver'=>true" dans le config.php : OK
test de connexion en "monnom" (via CAS) : ARgggg*
ajout de "'auth_webserver_user_map'=>array('monnom'=> 'admin')" dans le config.php : ARgggg*
test de connexion en "monnom" (via CAS) : ARgggg*

* : j'ai constamment le message "Identifiant et/ou mot de passe incorrect !"

Le "auth_webserver" fonctionne sur une nouvelle installation mais pas après une mise à jour...
D'où peut venir le problème ?
L'administrateur a désactivé l'accès en écriture pour le public.

Activer auth_webserver après la mise à jour de 1.92 à 2.0 (build 130802) il y a 7 mois 1 semaine #99762

  • Nickko
  • Portrait de Nickko
  • Hors ligne
  • LimeSurvey Team
  • Messages : 1929
  • Remerciements reçus 218
  • Karma: 44
Hum, soit il faudra attendre le passage de Denis, soit si tu parles anglais poser ta question dans la partie EN, là, tu y trouveras plus de développeurs pour t'aider.

Ton problème n'est pas trivial.
Nickko
Ergonome / Usability expert
L'administrateur a désactivé l'accès en écriture pour le public.

Activer auth_webserver après la mise à jour de 1.92 à 2.0 (build 130802) il y a 7 mois 1 semaine #99763

  • pasglop
  • Portrait de pasglop
  • Hors ligne
  • Fresh Lemon
  • Messages : 12
  • Remerciements reçus 3
  • Karma: 0
"Ton problème n'est pas trivial."

hum...

Serveur en prod avec 70 utilisateurs , 200 enquêtes/an et > 8000 enquêtés/an
peut-être pas "trivial" en effet.
L'administrateur a désactivé l'accès en écriture pour le public.

Activer auth_webserver après la mise à jour de 1.92 à 2.0 (build 130802) il y a 7 mois 6 jours #99780

  • pasglop
  • Portrait de pasglop
  • Hors ligne
  • Fresh Lemon
  • Messages : 12
  • Remerciements reçus 3
  • Karma: 0
j'ai un peu dégrossi le mamouth.

Le CAS rempli avec le login de l'utilisateur authentifié les vairables $_SERVER["REMOTE_USER"] et/ou $_SERVER["HTTP_CAS_USER"].

- En CASsifiant le répertoire /admin, ces variables sont bien remplies mais à l'appel de/indexphp/admin via admin/index.php on perd ces informations (à cause du "header" ?)

Ma solution (qui est loin d'être bonne !) :
- dans admin/index.php :
ajouter (l.37)
setcookie('CASC', $_SERVER["HTTP_CAS_USER"],0,"/limesurvey/");
avant
header( 'Location: ../index.php/admin' );

- dans application/core/Useridentity.php :
commenter (~l.72)
elseif(Yii::app()->getConfig("auth_webserver") === true && (isset($_SERVER["PHP_AUTH_USER"])|...
remplacer par
elseif(Yii::app()->getConfig("auth_webserver") === true)
ajouter dans la chaine de test :
elseif (isset($_COOKIE["CASC"])) {
$sUser=$_COOKIE["CASC"];
}

C'est pas génial !
Mais comme je n'ai jamais réussi à obtenir mon $_SERVER["HTTP_CAS_USER"] avec un login au passage de l'appel de index.php/admin et en attendant une solution propre....

Cordialement,
L'administrateur a désactivé l'accès en écriture pour le public.

Activer auth_webserver après la mise à jour de 1.92 à 2.0 (build 130802) il y a 7 mois 6 jours #99782

  • Nickko
  • Portrait de Nickko
  • Hors ligne
  • LimeSurvey Team
  • Messages : 1929
  • Remerciements reçus 218
  • Karma: 44
Tu as regardé dans l'outil de suivi des bugs ? Si le problème n'y a pas encore été rapporté, tu pourrais peut-être le faire en précisant bien ce que tu viens d'expliquer.
Nickko
Ergonome / Usability expert
L'administrateur a désactivé l'accès en écriture pour le public.

Activer auth_webserver après la mise à jour de 1.92 à 2.0 (build 130802) il y a 7 mois 6 jours #99784

  • pasglop
  • Portrait de pasglop
  • Hors ligne
  • Fresh Lemon
  • Messages : 12
  • Remerciements reçus 3
  • Karma: 0
ok je rempli une fiche car je suis remonté jusqu'en 2012 pour voir si ce pb était soulevé : hé bin non...

Merci
L'administrateur a désactivé l'accès en écriture pour le public.
Cet utilisateur a été remercié pour son message par: Nickko

Activer auth_webserver après la mise à jour de 1.92 à 2.0 (build 130802) il y a 7 mois 4 jours #99825

  • DenisChenu
  • Portrait de DenisChenu
  • Hors ligne
  • Moderator Lime
  • Messages : 5845
  • Remerciements reçus 715
  • Karma: 222
Salut,

Concernant l'identification admin externe (LDAP ou webserver), pas mal de problème sur la 2.0. On a tout passé en plugin dans le 2.05.

J'ai peur que l'on ne corrige pas pour la 2.0.

Au cas ou tu peux hacker le code de la 2.0 selon le code de la 2.05.

Denis
L'administrateur a désactivé l'accès en écriture pour le public.

Activer auth_webserver après la mise à jour de 1.92 à 2.0 (build 130802) il y a 7 mois 4 jours #99829

  • pasglop
  • Portrait de pasglop
  • Hors ligne
  • Fresh Lemon
  • Messages : 12
  • Remerciements reçus 3
  • Karma: 0
Je vais surtout attendre la 2.05 ;-) (si seulement les journées pouvaient faire 36h...)

En attendant, je m'en suis sorti non pas avec un cookie comme ci-dessus mais de la manière suivante qui me semble suffisemment secure dans notre cas (pour apache2 + mod_auth_cas et non pas phpCas) :

- Fichier /admin/index.php remplacer la ligne avec "header" et ajouter :
session_start();
$_SESSION["CAS"] = $_SERVER["HTTP_CAS_USER"];
header( 'Location: ../indexCAS.php/admin' );


- Crer un fichier /indexCAS.php à la racine :
session_start();
isset($_SESSION["CAS"]) ? $_SERVER["REMOTE_USER"]=$_SESSION["CAS"]:false;
include('index.php');


- et dans la config du CAS auth_cas.conf :
<Directory /var/www/limesurvey/admin/>
AuthType Cas
require valid-user
</Directory>
<Directory /var/www/limesurvey/indexCAS.php/>
AuthType Cas
require valid-user
</Directory>


et le fonctionnement est nickel.
A+

PS : le cms du forum n'accepte pas les quotes entre crochets : [\' blble\'] (sans les \), obliger de mettre des "
Dernière édition: il y a 7 mois 4 jours par pasglop.
L'administrateur a désactivé l'accès en écriture pour le public.
Cet utilisateur a été remercié pour son message par: DenisChenu, Ben_V

Activer auth_webserver après la mise à jour de 1.92 à 2.0 (build 130802) il y a 7 mois 3 jours #99836

  • DenisChenu
  • Portrait de DenisChenu
  • Hors ligne
  • Moderator Lime
  • Messages : 5845
  • Remerciements reçus 715
  • Karma: 222
Salut,

Au cas ou : installe la 2.05 et regarde les plugins pour vérifier que cela fonctionne. Comme ça , si ca ne fonctionne pas : tu pourras patcher avant la sorie :)
L'administrateur a désactivé l'accès en écriture pour le public.
Cet utilisateur a été remercié pour son message par: Ben_V
Modérateurs: Nickko
Temps de génération de la page : 0.161 secondes
Donation Image