Welcome, Guest
Username: Password: Remember me

TOPIC: 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) 1 year 1 month ago #99761

  • pasglop
  • pasglop's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 14
  • Thank you received: 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 ?
The administrator has disabled public write access.

Activer auth_webserver après la mise à jour de 1.92 à 2.0 (build 130802) 1 year 1 month ago #99762

  • Nickko
  • Nickko's Avatar
  • OFFLINE
  • LimeSurvey Team
  • Posts: 2131
  • Thank you received: 265
  • Karma: 57
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
The administrator has disabled public write access.

Activer auth_webserver après la mise à jour de 1.92 à 2.0 (build 130802) 1 year 1 month ago #99763

  • pasglop
  • pasglop's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 14
  • Thank you received: 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.
The administrator has disabled public write access.

Activer auth_webserver après la mise à jour de 1.92 à 2.0 (build 130802) 1 year 1 month ago #99780

  • pasglop
  • pasglop's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 14
  • Thank you received: 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,
The administrator has disabled public write access.

Activer auth_webserver après la mise à jour de 1.92 à 2.0 (build 130802) 1 year 1 month ago #99782

  • Nickko
  • Nickko's Avatar
  • OFFLINE
  • LimeSurvey Team
  • Posts: 2131
  • Thank you received: 265
  • Karma: 57
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
The administrator has disabled public write access.

Activer auth_webserver après la mise à jour de 1.92 à 2.0 (build 130802) 1 year 1 month ago #99784

  • pasglop
  • pasglop's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 14
  • Thank you received: 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
The administrator has disabled public write access.
The following user(s) said Thank You: Nickko

Activer auth_webserver après la mise à jour de 1.92 à 2.0 (build 130802) 1 year 1 month ago #99825

  • DenisChenu
  • DenisChenu's Avatar
  • OFFLINE
  • Moderator Lime
  • Posts: 6471
  • Thank you received: 854
  • Karma: 254
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
The administrator has disabled public write access.

Activer auth_webserver après la mise à jour de 1.92 à 2.0 (build 130802) 1 year 1 month ago #99829

  • pasglop
  • pasglop's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 14
  • Thank you received: 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 "
Last Edit: 1 year 1 month ago by pasglop.
The administrator has disabled public write access.
The following user(s) said Thank You: DenisChenu, Ben_V

Activer auth_webserver après la mise à jour de 1.92 à 2.0 (build 130802) 1 year 1 month ago #99836

  • DenisChenu
  • DenisChenu's Avatar
  • OFFLINE
  • Moderator Lime
  • Posts: 6471
  • Thank you received: 854
  • Karma: 254
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 :)
The administrator has disabled public write access.
The following user(s) said Thank You: Ben_V
Moderators: Nickko
Time to create page: 0.132 seconds
Donation Image