Domanda

Ho un portale personalizzato integrato con un sito personalizzato, utilizzando Apex/VisualForce. Voglio fornire funzionalità di modifica della password personalizzata su una pagina VisualForce abilitata per il sito/portale.

Il metodo della classe statica del sito non è appena documentato e dopo aver pettinato lo svilupperforce.com e essere vuoto, ho pensato che avrei provato qui. Ecco il metodo (che si trova nella classe Esempio di ChangePasswordController)

Site.changePassword(newPassword, verifyNewPassword, oldpassword);

Ecco il kicker. Indipendentemente da ciò che i dati inserisco per questi valori, incluso il rispetto di tutte le politiche della password, il metodo restituisce semplicemente null e non fa nulla. È interessante notare che nel metodo di test di esempio fornito da Salesforce l'assert dimostra letteralmente questo come caso:

/**
 * An apex page controller that exposes the change password functionality
 */
public with sharing class ChangePasswordController {
    public String oldPassword {get; set;}
    public String newPassword {get; set;}
    public String verifyNewPassword {get; set;}        

    public PageReference changePassword() {
        return Site.changePassword(newPassword, verifyNewPassword, oldpassword);
    }     

    public ChangePasswordController() {}

    public static testMethod void testChangePasswordController() {
        // Instantiate a new controller with all parameters in the page
        ChangePasswordController controller = new ChangePasswordController();
        controller.oldPassword = '123456';
        controller.newPassword = 'qwerty1'; 
        controller.verifyNewPassword = 'qwerty1';                

        System.assertEquals(controller.changePassword(),null);                           
    }    
}

Grazie in anticipo per qualsiasi assistenza con questo!

È stato utile?

Soluzione

Hai un <apex:pageMessages> Elemento sulla tua pagina VF? Forse la classe del sito sta impostando un messaggio di errore, che non vedresti a meno che tu non abbia questo elemento nella pagina.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top