J'ai finalement trouvé une solution à moindre coût:
L'idée étant de gérer 2 portails au travers de la même instance zope, il fallait empêcher la connexion des membres d'un portail sur l'autre.
Pour cela, le code du logged_in était presque suffisant:
RESPONSE.expireCookie('__ac', path='/')
return context.user_logged_in_failed()
 
Mais le fait de faire un return context.user_logged_in_failed() empêchait la relecture du cookie et la page se chargeait pour une personne authentifiée alors qu'en réalité, le cookie avait expiré.
J'ai simplement modifié ce return en :
return RESPONSE.redirect('/user_logged_in_failed')
 
Le fait de passer par l'objet RESPONSE permet de relire le cookie à priori. En tout cas le résultat escompté est atteint.
 
Merci encore
 
Cordialement
 

Cédric Marfil
Concepteur Réalisateur Intégrateur Confirmé
Tél. direct: 03.20.65.34.82
Mail: [EMAIL PROTECTED]

Capgemini
181 rue Jules Delcenserie
59700 Marcq en Baroeul
----- Original Message -----
Sent: Friday, November 03, 2006 12:19 PM
Subject: [CPS-users-fr] Re: logged_in et authentification

Cedric Marfil a écrit :
> Quelle est l'interaction du CookieCrumbler avec le reste de la
> plateforme ? Je veux dire, comment la plateforme sait-elle qu'elle doit
> taper sur le CookieCrumbler pour faire l'authentification après le
> login_form ?

Le CookieCrumbler intercepte toute les requete au niveau du publisher pour
recuperer les cookie d'authentication en debut de traitement de la requete. Il
me semble qu'il faut un monkey patch du publisher zope car celui si n'est pas
hookable si bas niveau (a verifier).

> Je souhaiterai en effet surcharger la méthode d'authentification.

Il est possible de deriver la classe cookie crumbler et MyAuthenticationManager
par exemple et de supprimer l'instance de CookieCrumbler  qui se toruve a la
racine de CPS et de la remplacer par une instance de MyAuthenticationManager.
C'est ce que font les produits suivants :

http://svn.nuxeo.org/trac/pub/browser/CPS3/products/CPSKrb5Auth/trunk
http://svn.nuxeo.org/trac/pub/browser/CPS3/products/CPSCasSso/trunk
http://svn.nuxeo.org/trac/pub/browser/Zope2/SecureAuth/trunk

respectivement: kerberos, CAS SSO et certicat SSL avec Apache.

--
Olivier

_______________________________________________
cps-users-fr
Adresse de la liste : [email protected]
Gestion de l'abonnement : <http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>
This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.

_______________________________________________
cps-users-fr 
Adresse de la liste : [email protected]
Gestion de l'abonnement : <http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>

Répondre à