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
