Pregunta

Tengo un portal personalizado integrado con un sitio personalizado, utilizando Apex/Visualforce. Quiero proporcionar funcionalidad de cambio de contraseña personalizada en una página de Visualforce que esté habilitada para el sitio/portal.

El método de clase estática del sitio apenas está documentado y después de peinar desarrollador de desarrollador.com y aparecer vacío, pensé que lo intentaría aquí. Aquí está el método (que se encuentra en la clase ChangePassWordController de muestra)

Site.changePassword(newPassword, verifyNewPassword, oldpassword);

Aquí está el pateador. Independientemente de los datos que ingreso para estos valores, incluido el respeto de todas las políticas de contraseña, el método simplemente devuelve nulo y no hace nada. Es interesante que en el método de prueba de muestra proporcionado por Salesforce, el afirmación demuestre que este es el 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);                           
    }    
}

¡Gracias de antemano por cualquier ayuda con esto!

¿Fue útil?

Solución

Tienes un <apex:pageMessages> elemento en su página de VF? Quizás la clase de sitio está configurando un mensaje de error, que no vería a menos que tenga este elemento en la página.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top