Ciao,
On 12/19/2012 11:05 AM, Luca Gentili wrote:
Il giorno 19 dicembre 2012 09:47, Fabrizio Reale
<[email protected] <mailto:[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')
_______________________________________________
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