[spip-dev] SPIP et authentification HTTP

Bonjoir,

Pour l'authentification, SPIP permet de réutiliser une authentification
HTTP (abusément surnommée authentification "Apache"), ce qui est bien
pratique. Par exemple, si je suis authentifié via HTTP, c'est-à-dire que
des variables PHP_USER et PHP_PW sont disponibles côté PHP, je peux me
balader tranquillement dans la partie ecrire/ du site sans qu'on me
redemande rien. Quand je reviens dans la partie publique du site, je
suis toujours authentifié, je peux faire ce que je veux, par exemple
utiliser le plugin Crayons.

Jusque là, génial. Sauf que...

Si avant de faire tout ça (en restant dans la partie publique, donc), je
souhaite "faire valoir mes droits", il semble que le comportement de
SPIP ne soit pas très clair :

- La balise #SESSION{id_auteur} renvoie bien l'id_user.
MAIS :
- Je ne suis pas réellement reconnu. Par exemple la balise #LOGIN_PUBLIC
me demande de m'authentifier. Les crayons non plus ne me reconnaissent
pas, signe que SPIP leur dit que je ne suis pas connecté.

En revanche, si je fais un aller-retour par /ecrire (sans devoir
m'authentifier de nouveau, bien sûr), c'est bon. En quelque sorte c'est
comme si certains bouts de SPIP reconnaissaient l'authentification HTTP
sans passage par ecrire/, mais que d'autres non.

Des opinions ?

Pardon, je viens de me rendre compte d'autre chose, peut-être que ça
peut aider. (à la fin du mail)

El Sunday 23 August 2009 21:32:12 davux va escriure:

- La balise #SESSION{id_auteur} renvoie bien l'id_user.
MAIS :
- Je ne suis pas réellement reconnu. Par exemple la balise
#LOGIN_PUBLIC me demande de m'authentifier. Les crayons non plus ne
me reconnaissent pas, signe que SPIP leur dit que je ne suis pas
connecté.

En revanche, si je fais un aller-retour par /ecrire (sans devoir
m'authentifier de nouveau, bien sûr), c'est bon. En quelque sorte
c'est comme si certains bouts de SPIP reconnaissaient
l'authentification HTTP sans passage par ecrire/, mais que d'autres
non.

Après un aller-retour par ecrire/, les crayons marchent, mais le
formulaire #LOGIN_PUBLIC apparaît toujours.

Y'a un truc pas clair dans le design. Je serais d'avis que soit SPIP
reconnaisse l'authentification HTTP pleinement et sans réserves, soit
qu'il en fasse fi totalement (je veux bien me pencher sur un plugin),
mais là on a un peu le cul entre deux chaises. :slight_smile:

S'lt

Y'a un truc pas clair dans le design. Je serais d'avis que soit SPIP
reconnaisse l'authentification HTTP pleinement et sans réserves, soit
qu'il en fasse fi totalement (je veux bien me pencher sur un plugin),
mais là on a un peu le cul entre deux chaises. :slight_smile:

L'idée de plugin peut etre bonne, il y a surement du boulot coté noyau
pour épurer le tout, mais cela irait dans le sens des prochaines
versions.

LCela permettrait peut etre d'ouvrir la voie pour gerer https par exemple.

km

cam.lafit@azerttyu.net a écrit :

S'lt

Y'a un truc pas clair dans le design. Je serais d'avis que soit SPIP
reconnaisse l'authentification HTTP pleinement et sans réserves, soit
qu'il en fasse fi totalement (je veux bien me pencher sur un plugin),
mais là on a un peu le cul entre deux chaises. :slight_smile:
    
L'idée de plugin peut etre bonne, il y a surement du boulot coté noyau
pour épurer le tout, mais cela irait dans le sens des prochaines
versions.

LCela permettrait peut etre d'ouvrir la voie pour gerer https par exemple.
  
bah heu, je fais ca depuis longtemps en 1.9.2 moi...
en 1.9.2 j'ai meme un .htpasswd centralisé pour plusieurs sites (avec un plugin bidouille pour créer automatiquement les nouveaux comptes)
je vais regarder si j'avais fait des modifs mais j'ai pas souvenir.

Stephane a écrit :

cam.lafit@azerttyu.net a écrit :

S'lt

Y'a un truc pas clair dans le design. Je serais d'avis que soit SPIP
reconnaisse l'authentification HTTP pleinement et sans réserves, soit
qu'il en fasse fi totalement (je veux bien me pencher sur un plugin),
mais là on a un peu le cul entre deux chaises. :slight_smile:
    
L'idée de plugin peut etre bonne, il y a surement du boulot coté noyau
pour épurer le tout, mais cela irait dans le sens des prochaines
versions.

LCela permettrait peut etre d'ouvrir la voie pour gerer https par exemple.
  
bah heu, je fais ca depuis longtemps en 1.9.2 moi...
en 1.9.2 j'ai meme un .htpasswd centralisé pour plusieurs sites (avec un plugin bidouille pour créer automatiquement les nouveaux comptes)
je vais regarder si j'avais fait des modifs mais j'ai pas souvenir.

ah ben si, en fait, il y a bidouille...
dans spip.php, avant #au travail, j'ai ajouté :
include_spip('inc/cookie');
$auth=charger_fonction('auth','inc');
$var_auth=$auth();

je suppose que si je l'ai mis la, c'est que dans un plugin ou mes_options ca ne marchait pas, mais ca reste à verifier (c'est un systeme qui installe automatiquement les instances par script, donc ca n'etait pas un souci pour moi de faire une modif ici)

@++