Grazie mille Simo .... e a proposito ... dobbiamo ancora riuscire a
incontrarci dai tempi del codemotion romano!!!! ... magari riusciamo a
vederci per il prossimo !

:o)

Luca

Il giorno 19 dicembre 2012 12:02, Simone Orsi <[email protected]> ha
scritto:

>   On 12/19/2012 11:56 AM, Simone Orsi wrote:
>
> Ciao,
>
> On 12/19/2012 11:05 AM, Luca Gentili wrote:
>
>
>
> Il giorno 19 dicembre 2012 09:47, Fabrizio Reale <
> [email protected]> ha scritto:
>
>> Ciao Luca,
>>
>> > In ogni caso a me basta che non sia la password di default (che conosco)
>> > quindi sapendo "dove" impostare il controllo non avrei problemi...il
>> punto
>> > è che io posso (o meglio so) fare la redirect dell'utente appena loggato
>> > alla pagina che mi interessa...ma come posso disabilitare la
>> navigazione su
>> > home e le altre sezioni del portale se non cambia la password??
>>
>> Fai un login fittizio con la password di default e nel caso funzioni lo
>> mandi a
>> cambiarsela.
>>
>
> Cioè?? Io già reindirizzo l'utente al cambio password quando si logga al
> primo accesso (in realtà a tutti gli accessi fintanto che non reimposta la
> password) già lo fa Plone autonomamente nel momento in cui imposto la
> property must change password... solo che in realtà all'utente è "proposto"
> di cambiare password ... ma se invece di reimpostarla lui clicca su home o
> sulle altre sezioni del portale comunque ci naviga tranquillamente
>
>
> potresti aggiungere due campi all'utente: un campo 'has_changed_pwd' e un
> campo lista tipo 'blacklisted_pwds' dove salvi le vecchie pwd da
> blacklistare.
>
> Poi per evitare che se ne vada a zonzo senza cambiarla puoi creare, come
> ha giá suggerito Fabrizio, una viewlet globale che funga da 'firewall'.
>
> La viewlet dovrá semplicemente controllare che il flag 'has_changed_pwd'
> sia attivo, altrimenti fará il redirect al cambio della pwd.
>
> Ovviamente dovrai gestire il flag e la blacklist al cambiamento della pwd.
>
> Per farlo credo che ti basti agganciarti all'evento:
>
> Products.PluggableAuthService.interfaces.events.ICredentialsUpdatedEvent
>
>
> class ICredentialsUpdatedEvent(IPASEvent):
>     """A principal has changed her password.
>
>     Sending this event will cause a PAS user folder to trigger its active
>     credential update plugins.
>     """
>     password = Attribute('The new password')
>
>
>
> scusa, dimenticavo che dovrai anche fare l'override del check della pwd
> (nelle versione 'bella' lo farai con un plugin PAS, nella versione 'brutta'
> potrai farlo con una patch (ma io non te l'ho detto ;P)). Il metodo é
> 'testPasswordValidity' nel registration tool. In realtá forse hai un'altra
> opzione, che é fare l'override del tool. Ne trovi un esempio in
> Products.remember:
>
>
> https://github.com/collective/Products.remember/blob/master/Products/remember/tools/registration.py
>
> https://github.com/collective/Products.remember/blob/master/Products/remember/profiles/default/toolset.xml
>
> Cheers
>
>
> _______________________________________________
> Plone-IT mailing list
> [email protected]
> https://lists.plone.org/mailman/listinfo/plone-plone-it
> http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html
>



-- 
Luca

about.me <http://about.me/lucagent>
www.xymble.com <http://www.xymble.com/%21/lucagent>
_______________________________________________
Plone-IT mailing list
[email protected]
https://lists.plone.org/mailman/listinfo/plone-plone-it
http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html

Rispondere a