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

Rispondere a